Executive brief
A vulnerability in the Linux kernel's Emulex LightPulse Fibre Channel (lpfc) driver could allow a local user to cause a memory leak. This occurs during specific storage networking discovery processes. Over time, repeated exploitation could exhaust system memory, leading to performance degradation or a system crash (denial of service).
Technical details
A memory leak exists in the Linux kernel lpfc driver within the lpfc_rcv_padisc() function. The vulnerability is caused by a failure to check the return status of lpfc_sli4_resume_rpi(). When this function returns an error, the elsiocb (Extended Link Service I/O Control Block) is neither issued nor released via its completion handler, resulting in a leaked memory resource. An attacker with local access could potentially trigger this path to exhaust kernel memory. The issue has been resolved by adding a check for the return value and explicitly freeing the elsiocb resource upon failure.
Affected products
- Linux Linux Kernel up to 4.19.312, 4.20 to 5.4.274, 5.5 to 5.10.215, 5.11 to 5.15.155, 5.16 to 6.1.86, 6.2 to 6.6.27, 6.7 to 6.8.6
Timeline
- 2024-05-19: advisory: Initial publication of CVE-2024-35930
- 2024-02-05: patched: Mainline kernel patch committed
References
- https://git.kernel.org/stable/c/07a2aa674fca679316b8ac51440adb895b53a7cf
- https://git.kernel.org/stable/c/2ae917d4bcab80ab304b774d492e2fcd6c52c06b
- https://git.kernel.org/stable/c/3320126ed3afbc11934502319b340f91a4d61c8f
- https://git.kernel.org/stable/c/7849e6f8410da96384e3d1f6b6d730f095142dc7
- https://git.kernel.org/stable/c/c473288f27d15014447de5a891bdf22a0695847a
- https://git.kernel.org/stable/c/e2cd32435b1dff3d63759476a3abc878e02fb6c8
- https://git.kernel.org/stable/c/edf82aa7e9eb864a09229392054d131b34a5c9e8