usb: xhci: Fix invalid pointer dereference in Etron workaround (Linux Linux)

CVE-2025-37813
HIGH 7.8

At a glance

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

Description

In the Linux kernel, the following vulnerability has been resolved: usb: xhci: Fix invalid pointer dereference in Etron workaround This check is performed before prepare_transfer() and prepare_ring(), so enqueue can already point at the final link TRB of a segment. And indeed it will, some 0.4% of times this code is called. Then enqueue + 1 is an invalid pointer. It will crash the kernel right away or load some junk which may look like a link TRB and cause the real link TRB to be replaced with a NOOP. This wouldn't end well. Use a functionally equivalent test which doesn't dereference the pointer and always gives correct result. Something has crashed my machine twice in recent days while playing with an Etron HC, and a control transfer stress test ran for confirmation has just crashed it again. The same test passes with this patch applied.

Weaknesses (CWE)

  • CWE-476 — NULL Pointer Dereference

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 fbc0a0c7718a6cb1dc5e0811a4f88a2b1deedfa1 < 142273a49f2c315eabdbdf5a71c15e479b75ca91 ; affected 9258c9ed32294ce3a4b58c9d92fc49ba030d35c9 < bce3055b08e303e28a8751f6073066f5c33a0744 ; affected 5e1c67abc9301d05130b7e267c204e7005503b33 < 0624e29c595b05e7a0e6d1c368f0a05799928e30 ; affected 5e1c67abc9301d05130b7e267c204e7005503b33 < 1ea050da5562af9b930d17cbbe9632d30f5df43a ; affected 4725344ca645a98a9d8e45e25b01a2244de5b8aa ; affected 6.6.66 < 6.6.89
Linux · Linuxaffected 6.13 ; unaffected 0 < 6.13 ; unaffected 6.6.89 ≤ 6.6.* ; unaffected 6.12.26 ≤ 6.12.* ; unaffected 6.14.5 ≤ 6.14.* ; unaffected 6.15 ≤ *

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