Linux: gpio: cdev: fix kernel stack leak to user-space in error path
What fixes it
- 8460ee5216ab9a38263b01dca4b0a27e083f70f3LinuxCVE List
- 60a466f231905cd96ae6f0f3c44a710c97873dacLinuxCVE List
- 1feb5d39b05afd902ed9fc902ec5b15be03a4bdbLinuxCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
gpio: cdev: fix kernel stack leak to user-space in error path
If we fail to acquire the GPIO chip guard in gpio_desc_to_lineinfo(), we return immediately before zeroing the info struct we'll end up passing to the user-space later in lineinfo_get_v1(). This may leak the kernel stack contents. Make gpio_desc_to_lineinfo() return int so that the -ENODEV returned on failure to acquire the guard can be propagated to the callers.
While not strictly necessary: move the memset() before trying to acquire the SRCU read lock too for good measure.
Text from CVE List
Affected versions 10
- Linuxaffected: d83cee3d2bb131c7fca7e19f1e33dc7530fd7083 before 8460ee5216ab9a38263b01dca4b0a27e083f70f3CVE List
- Linuxaffected: d83cee3d2bb131c7fca7e19f1e33dc7530fd7083 before cf3d043582e106a0e57002bec8a6de8929ba3e1cCVE List
- Linuxaffected: d83cee3d2bb131c7fca7e19f1e33dc7530fd7083 before 60a466f231905cd96ae6f0f3c44a710c97873dacCVE List
- Linuxaffected: d83cee3d2bb131c7fca7e19f1e33dc7530fd7083 before 1feb5d39b05afd902ed9fc902ec5b15be03a4bdbCVE List
- Linuxaffected: 6.9CVE List
- Linuxunaffected: all versions before 6.9CVE List
- Linuxunaffected: 6.12.112 through 6.12.*CVE List
- Linuxunaffected: 6.18.55 through 6.18.*CVE List
- Linuxunaffected: 7.2.9 through 7.2.*CVE List
- Linuxunaffected: 7.3CVE List
References 4
- git.kernel.org/stable/c/8460ee5216ab9a38263b01dca4b0a27e083f70f3Referencevia CVE List
- git.kernel.org/stable/c/cf3d043582e106a0e57002bec8a6de8929ba3e1cReferencevia CVE List
- git.kernel.org/stable/c/60a466f231905cd96ae6f0f3c44a710c97873dacReferencevia CVE List
- git.kernel.org/stable/c/1feb5d39b05afd902ed9fc902ec5b15be03a4bdbReferencevia CVE List