CVE-2024-36476: RDMA/rtrs: Ensure 'ib_sge list' is accessible
In the Linux kernel, the following vulnerability has been resolved:
RDMA/rtrs: Ensure 'ibsge list' is accessible
Move the declaration of the 'ibsge list' variable outside the 'alwaysinvalidate' block to ensure it remains accessible for use throughout the function.
Previously, 'ibsge list' was declared within the 'alwaysinvalidate' block, limiting its accessibility, then caused a 'BUG: kernel NULL pointer dereference'[1]. ? diebody.cold+0x19/0x27 ? pagefaultoops+0x15a/0x2d0 ? searchmoduleextables+0x19/0x60 ? searchbpfextables+0x5f/0x80 ? excpagefault+0x7e/0x180 ? asmexcpagefault+0x26/0x30 ? memcpyorig+0xd5/0x140 rxemrcopy+0x1c3/0x200 [rdmarxe] ? rxepoolgetindex+0x4b/0x80 [rdmarxe] copydata+0xa5/0x230 [rdmarxe] rxerequester+0xd9b/0xf70 [rdmarxe] ? finishtaskswitch.isra.0+0x99/0x2e0 rxesender+0x13/0x40 [rdmarxe] dotask+0x68/0x1e0 [rdmarxe] processonework+0x177/0x330 workerthread+0x252/0x390 ? pfxworkerthread+0x10/0x10
This change ensures the variable is available for subsequent operations that require it.
[1] https://lore.kernel.org/linux-rdma/6a1f3e8f-deb0-49f9-bc69-a9b03ecfcda7@fujitsu.com/
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 5.10.234-1Fixed in 6.1.129-1Fixed in 6.1.135-1Fixed in 6.12.27-1 - Upgrade
Upgrade
debian/linux-6.1to a version that resolves this vulnerability.Fixed in 6.1.129-1~deb11u1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 5.15.176.3-1 - Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Fixed in 6.6.76.1-1 - Configuration
In the Linux kernel RDMA/rtrs code, move the declaration of the 'ib_sge list' variable outside the 'always_invalidate' block so it remains accessible for use throughout the function (previously it was declared inside the 'always_invalidate' block, which could lead to a 'BUG: kernel NULL pointer dereference').
Linux kernel (RDMA/rtrs) always_invalidate block variable scope = Move 'ib_sge list' declaration outside the 'always_invalidate' block
Event History
Frequently Asked Questions
What is the severity of CVE-2024-36476?
CVE-2024-36476 has a severity rating that indicates it impacts the accessibility of the 'ib_sge list' variable within the Linux kernel.
How do I fix CVE-2024-36476?
To fix CVE-2024-36476, ensure that the 'ib_sge list' variable is declared outside the 'always_invalidate' block in the affected functions.
Which versions of Linux kernel are affected by CVE-2024-36476?
CVE-2024-36476 affects multiple versions of the Linux kernel ranging from 5.8 to 6.13-rc5.
What components are impacted by CVE-2024-36476?
CVE-2024-36476 impacts the RDMA/rtrs component of the Linux kernel.
Is there a workaround for CVE-2024-36476?
Currently, there is no documented workaround for CVE-2024-36476 other than applying the necessary code changes.