Bug 1223136 (CVE-2024-26918)

Summary: VUL-0: CVE-2024-26918: kernel: PCI: Fix active state requirement in PME polling
Product: [Novell Products] SUSE Security Incidents Reporter: SMASH SMASH <smash_bz>
Component: IncidentsAssignee: Security Team bot <security-team>
Status: RESOLVED INVALID QA Contact: Security Team bot <security-team>
Severity: Normal    
Priority: P3 - Medium CC: carlos.lopez, vasant.karasulli
Version: unspecified   
Target Milestone: ---   
Hardware: Other   
OS: Other   
URL: https://smash.suse.de/issue/402456/
Whiteboard: CVSSv3.1:SUSE:CVE-2024-26918:3.3:(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L)
Found By: Security Response Team Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description SMASH SMASH 2024-04-19 10:31:29 UTC
In the Linux kernel, the following vulnerability has been resolved:

PCI: Fix active state requirement in PME polling

The commit noted in fixes added a bogus requirement that runtime PM managed
devices need to be in the RPM_ACTIVE state for PME polling.  In fact, only
devices in low power states should be polled.

However there's still a requirement that the device config space must be
accessible, which has implications for both the current state of the polled
device and the parent bridge, when present.  It's not sufficient to assume
the bridge remains in D0 and cases have been observed where the bridge
passes the D0 test, but the PM state indicates RPM_SUSPENDING and config
space of the polled device becomes inaccessible during pci_pme_wakeup().

Therefore, since the bridge is already effectively required to be in the
RPM_ACTIVE state, formalize this in the code and elevate the PM usage count
to maintain the state while polling the subordinate device.

This resolves a regression reported in the bugzilla below where a
Thunderbolt/USB4 hierarchy fails to scan for an attached NVMe endpoint
downstream of a bridge in a D3hot power state.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2024-26918
https://www.cve.org/CVERecord?id=CVE-2024-26918
https://git.kernel.org/stable/c/41044d5360685e78a869d40a168491a70cdb7e73
https://git.kernel.org/stable/c/63b1a3d9dd3b3f6d67f524e76270e66767090583
https://git.kernel.org/stable/c/a4f12e5cbac2865c151d1e97e36eb24205afb23b
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2024/CVE-2024-26918.mbox
https://bugzilla.redhat.com/show_bug.cgi?id=2275782
Comment 2 Jiri Slaby 2024-04-30 10:26:58 UTC
Nothing is to be done here, we run no distro on 6.6 or 6.7.
Comment 3 Carlos López 2024-05-15 09:35:09 UTC
Nothing to do, closing.