xhci: handle isoc Babble and Buffer Overrun events properly (Linux Linux)

CVE-2024-26659
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.24 % · percentile 15 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

Description

In the Linux kernel, the following vulnerability has been resolved: xhci: handle isoc Babble and Buffer Overrun events properly xHCI 4.9 explicitly forbids assuming that the xHC has released its ownership of a multi-TRB TD when it reports an error on one of the early TRBs. Yet the driver makes such assumption and releases the TD, allowing the remaining TRBs to be freed or overwritten by new TDs. The xHC should also report completion of the final TRB due to its IOC flag being set by us, regardless of prior errors. This event cannot be recognized if the TD has already been freed earlier, resulting in "Transfer event TRB DMA ptr not part of current TD" error message. Fix this by reusing the logic for processing isoc Transaction Errors. This also handles hosts which fail to report the final completion. Fix transfer length reporting on Babble errors. They may be caused by device malfunction, no guarantee that the buffer has been filled.

Weaknesses (CWE)

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 04e51901dd44f40a5a385ced897f6bca87d5f40a < 696e4112e5c1ee61996198f0ebb6ca3fab55166e ; affected 04e51901dd44f40a5a385ced897f6bca87d5f40a < 2aa7bcfdbb46241c701811bbc0d64d7884e3346c ; affected 04e51901dd44f40a5a385ced897f6bca87d5f40a < 2e3ec80ea7ba58bbb210e83b5a0afefee7c171d3 ; affected 04e51901dd44f40a5a385ced897f6bca87d5f40a < f5e7ffa9269a448a720e21f1ed1384d118298c97 ; affected 04e51901dd44f40a5a385ced897f6bca87d5f40a < 418456c0ce56209610523f21734c5612ee634134 ; affected 04e51901dd44f40a5a385ced897f6bca87d5f40a < 7c4650ded49e5b88929ecbbb631efb8b0838e811
Linux · Linuxaffected 2.6.36 ; unaffected 0 < 2.6.36 ; unaffected 5.10.213 ≤ 5.10.* ; unaffected 5.15.152 ≤ 5.15.* ; unaffected 6.1.82 ≤ 6.1.* ; unaffected 6.6.17 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD