CVE-2024-26982·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: Squashfs: check the inode number is not the invalid value of zero Syskiller has produced an out of bounds access in fill_meta_index(). That out of bounds access is ultimately caused because the inode has an inode number with the invalid value of zero, which was not checked. The reason this causes the out of bounds access is due to following sequence of events: 1. Fill_meta_index() is called to allocate (via empty_meta_index()) and fill a metadata index. It however suffers a data read error and aborts, invalidating the newly returned empty metadata index. It does this by setting the inode number of the index to zero, which means unused (zero is not a valid inode number). 2. When fill_meta_index() is subsequently called again on another read operation, locate_meta_index() returns the previous index because it matches the inode number of 0. Because this index has been returned it is expected to have been filled, and because it hasn't been, an out of bounds access is performed. This patch adds a sanity check which checks that the inode number is not zero when the inode is created and returns -EINVAL if it is. [phillip@squashfs.org.uk: whitespace fix]
- Severity
- high
- Software
- Kernel
- Fixed in
- 6.8.8
- Published
- 2024-05-01
Affected versions
From: 6.7
Until: 6.8.8
Fixed in: 6.8.8
How to fix this CVE
Update your Linux kernel to version 6.8.8 or later to resolve this Squashfs inode validation vulnerability. The fix implements a sanity check to reject filesystem images with invalid zero-valued inode numbers, preventing out-of-bounds memory access during metadata index operations. Reboot your system after applying the kernel update to activate the patched version.
sudo dnf update kernel kernel-devel && sudo rebootDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version by running: uname -r (compare against 6.8.8; if less than 6.8.8 and kernel version is 6.7.x to 6.8.7, you are vulnerable)
- Step 2: Verify Squashfs filesystem support is enabled in your kernel: cat /boot/config-$(uname -r) | grep -i squashfs (vulnerable if CONFIG_SQUASHFS is set)
- Step 3: Check system logs for Squashfs read errors or out-of-bounds access warnings: sudo journalctl -xe | grep -i squashfs
- Step 4: After patching, confirm the new kernel is running: uname -r (should show 6.8.8 or later)
FAQ
What is CVE-2024-26982?
CVE-2024-26982 is a memory access vulnerability in the Linux kernel's Squashfs filesystem implementation where invalid zero-valued inode numbers bypass validation, causing out-of-bounds access when metadata indexes are queried. This occurs due to improper sanitization of corrupted or malicious Squashfs images.
Is CVE-2024-26982 being actively exploited?
No, CVE-2024-26982 is not listed in the CISA Known Exploited Vulnerabilities catalog and no public exploits are available.
What versions of Kernel are affected by CVE-2024-26982?
Linux kernel versions 6.7 through 6.8.7 are vulnerable; the vulnerability is fixed in kernel 6.8.8 and later stable releases.
How do I check if my server is vulnerable to CVE-2024-26982?
Run: uname -r and compare the output against 6.8.8. If your kernel is between 6.7 and 6.8.7 and Squashfs is enabled (check: cat /boot/config-$(uname -r) | grep CONFIG_SQUASHFS), your system is vulnerable.
Does Defensia detect CVE-2024-26982?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2024-26982 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/32c114a58236fe67141634774559f21f1dc96fd7
- https://git.kernel.org/stable/c/4a1b6f89825e267e156ccaeba3d235edcac77f94
- https://git.kernel.org/stable/c/5b99dea79650b50909c50aba24fbae00f203f013
- https://git.kernel.org/stable/c/7def00ebc9f2d6a581ddf46ce4541f84a10680e5
- https://git.kernel.org/stable/c/9253c54e01b6505d348afbc02abaa4d9f8a01395
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2024-26982. Free for 1 server.
Get started free