CVE-2023-52779·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: fs: Pass AT_GETATTR_NOSEC flag to getattr interface function When vfs_getattr_nosec() calls a filesystem's getattr interface function then the 'nosec' should propagate into this function so that vfs_getattr_nosec() can again be called from the filesystem's gettattr rather than vfs_getattr(). The latter would add unnecessary security checks that the initial vfs_getattr_nosec() call wanted to avoid. Therefore, introduce the getattr flag GETATTR_NOSEC and allow to pass with the new getattr_flags parameter to the getattr interface function. In overlayfs and ecryptfs use this flag to determine which one of the two functions to call. In a recent code change introduced to IMA vfs_getattr_nosec() ended up calling vfs_getattr() in overlayfs, which in turn called security_inode_getattr() on an exiting process that did not have current->fs set anymore, which then caused a kernel NULL pointer dereference. With this change the call to security_inode_getattr() can be avoided, thus avoiding the NULL pointer dereference.
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.6.4
- Published
- 2024-05-21
Affected versions
From: 6.5
Until: 6.6.4
Fixed in: 6.6.4
How to fix this CVE
Update your Linux kernel to version 6.6.4 or later to resolve this vulnerability. The fix introduces the AT_GETATTR_NOSEC flag to prevent unnecessary security checks during filesystem attribute operations, eliminating a kernel NULL pointer dereference that could occur in overlayfs and ecryptfs when processing exiting processes. Affected systems running kernel versions 6.5 through 6.6.3 should prioritize this update.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check your current kernel version with `uname -r` and verify if it falls within 6.5.0 to 6.6.3
- Step 2: Confirm overlayfs or ecryptfs is in use by running `mount | grep -E 'overlay|ecryptfs'`
- Step 3: Search system logs for NULL pointer dereference errors related to vfs_getattr or security_inode_getattr with `sudo grep -i 'NULL pointer\|vfs_getattr\|security_inode_getattr' /var/log/kern.log`
- Step 4: After patching, verify the new kernel version with `uname -r` and confirm it shows 6.6.4 or later, then reboot if necessary
FAQ
What is CVE-2023-52779?
This vulnerability exists in the Linux kernel's filesystem attribute handling where the AT_GETATTR_NOSEC flag was not being properly propagated during vfs_getattr_nosec() calls. This caused unnecessary security checks to be re-invoked in overlayfs and ecryptfs, leading to a kernel NULL pointer dereference when processing exiting processes that no longer have filesystem context.
Is CVE-2023-52779 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available. It is primarily a denial-of-service risk through kernel crashes rather than a privilege escalation vector.
What versions of Kernel are affected by CVE-2023-52779?
Linux kernel versions 6.5.0 through 6.6.3 are affected. The vulnerability is resolved in kernel 6.6.4 and later.
How do I check if my server is vulnerable to CVE-2023-52779?
Run `uname -r` to retrieve your kernel version and compare it against the affected range (6.5.0–6.6.3). If your version falls within this range and overlayfs or ecryptfs is mounted, your system is vulnerable.
Does Defensia detect CVE-2023-52779?
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-2023-52779 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52779. Free for 1 server.
Get started free