drm/i915/mst: limit DP MST ESI service loop
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.6.160, 6.12.114, 6.18.42, 7.1.6
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/i915/mst: limit DP MST ESI service loop The loop in intel_dp_check_mst_status() keeps servicing interrupts originating from the sink without bound. Add an upper bound to the new interrupts occurring during interrupt processing to not get stuck on potentially stuck sink devices. Use arbitrary 32 tries to clear incoming interrupts in one go. Discovered using AI-assisted static analysis confirmed by Intel Product Security. Note: The condition likely pre-dates the commit in the Fixes: tag, but this is about as far back as a backport has any chance of succeeding. Before that, the retry had a goto. (cherry picked from commit b4ea5272133059acb493cc36599071a9e852ec2e)
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 3c0ec2c2d5948356a22c8f1c08a8087b12a303e7 · fixed in fae63319ad397666a9c56a17ea1047d2bf9a1e25; From 3c0ec2c2d5948356a22c8f1c08a8087b12a303e7 · fixed in 02ceba559412751106c0cfa5cbdb80db50303083; From 3c0ec2c2d5948356a22c8f1c08a8087b12a303e7 · fixed in e3bcd3bf7eeca9570b9fa0b2f8a602c7bcc6b0d0; From 3c0ec2c2d5948356a22c8f1c08a8087b12a303e7 · fixed in 9061fbf2230b6fcef042a6f637beae57c2fc93a5; From 3c0ec2c2d5948356a22c8f1c08a8087b12a303e7 · fixed in 005771c18c5b2c98cb4e7517661aea460990fd3f
- Linux Linux
5.8
- KernelLinux
From 5.8.0 · fixed in 6.6.160; From 6.7.0 · fixed in 6.12.114; From 6.13.0 · fixed in 6.18.42; From 6.19.0 · fixed in 7.1.6