CVE-2026-53174: Linux Kernel Overlay Filesystem Directory Enumeration Error
A logic error in the Linux kernel's overlay filesystem (ovl) implementation can cause the readdir operation to return a spurious error code even when the underlying cache retrieval succeeds. The bug occurs in ovl_iterate_merged(), which incorrectly stores a truncated pointer value as an error status before validating whether the pointer actually represents an error. This affects nested overlay filesystem scenarios, such as reading directories from an overlay mounted on top of another overlay. The flaw allows unprivileged local users to trigger failed directory operations that should have succeeded, potentially disrupting application behavior that depends on reliable directory listing.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.8 HIGH · CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Weaknesses (CWE)
- —
- Affected products
- 7 configuration(s)
- Published / Modified
- 2026-06-25 / 2026-07-06
NVD description (verbatim)
In the Linux kernel, the following vulnerability has been resolved: ovl: keep err zero after successful ovl_cache_get() ovl_iterate_merged() stores PTR_ERR(cache) in err before checking IS_ERR(cache). On success err holds the truncated cache pointer and can be returned as a bogus non-zero error. The syzbot reproducer reaches this through overlay-on-overlay readdir: getdents64 iterate_dir(outer overlay file) ovl_iterate_merged() ovl_cache_get() ovl_dir_read_merged() ovl_dir_read() iterate_dir(inner overlay file) ovl_iterate_merged() Only compute PTR_ERR(cache) on the error path.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The vulnerability exists in the Linux kernel's overlay filesystem code path for merged directory iteration. In ovl_iterate_merged(), the function calls ovl_cache_get() and immediately assigns the returned value to err via PTR_ERR(cache) without first checking IS_ERR(cache). On successful cache retrieval, this assignment places a truncated pointer value into the err variable, which is then propagated back to the caller as a bogus non-zero error code. The call chain can be triggered through nested overlay-on-overlay readdir operations: a getdents64() call on an outer overlay file triggers ovl_iterate_merged(), which calls ovl_cache_get() to merge directories, and if the outer overlay contains an inner overlay, the inner overlay's ovl_iterate_merged() is invoked recursively, amplifying the issue. The fix requires computing PTR_ERR(cache) only on the error path, after IS_ERR(cache) validation has determined that an actual error condition exists.
Business impact
This vulnerability can degrade the reliability of directory operations on systems using overlay filesystems, particularly in containerized environments where nested overlays are common (Docker, Kubernetes). Applications that enumerate directories and expect consistent behavior may encounter spurious POSIX errors, leading to failed file discovery, application crashes, or operational degradation. For organizations running container infrastructure or using overlay-based storage for performance isolation, this bug introduces a source of unpredictable failures that can complicate troubleshooting and reduce system dependability. The impact is localized to local unprivileged users, so remote exploitation is not possible, but insider threats or compromised containers can weaponize the issue to disrupt workload stability.
Affected systems
All versions of the Linux kernel that include the overlay filesystem implementation are potentially affected. The vulnerability requires local access and unprivileged user privileges to trigger, so exposure is limited to systems where untrusted users have shell access or where container workloads can execute arbitrary code. Systems heavily dependent on overlay filesystems—including Linux distributions shipping recent kernel versions, containerized environments, and systems using overlay-based storage backends—carry the highest risk. Verify the specific kernel version and overlay filesystem patches in your distribution's advisory for precise affected version ranges.
Exploitability
Exploitation requires local access and the ability to execute code as an unprivileged user. The attack is straightforward: trigger a nested overlay-on-overlay readdir operation to hit the buggy code path and receive a false error response. The bug does not grant elevated privileges or enable information disclosure beyond what the unprivileged user already has access to; its primary impact is denial of service via directory enumeration failures. No special hardware, tools, or kernel configuration is required beyond the ability to create and interact with nested overlay filesystems, which is possible in standard containerized environments. The CVSS 7.8 HIGH score reflects the local-only access requirement and privilege escalation potential in limited scenarios, but this is not a straightforward privilege escalation vector.
Remediation
Update the Linux kernel to a patched version released by your distribution. Kernel maintainers have addressed this issue by restructuring ovl_iterate_merged() to compute PTR_ERR(cache) only after IS_ERR(cache) validation confirms an error condition. Obtain the specific patched kernel version from your distribution's security advisory or kernel.org. Until patching is possible, mitigate by restricting unprivileged access to overlay filesystem mount points or disabling overlay filesystem use if not operationally required. For container environments, update container runtime versions that bundle patched kernel modules or use a base OS image with the patched kernel.
Patch guidance
Contact your Linux distribution vendor (Red Hat, Canonical, SUSE, etc.) or monitor kernel.org security announcements for the specific patched kernel version addressing CVE-2026-53174. Patches typically target stable kernel branches (e.g., 6.x LTS, 5.x LTS). Verify the patch commit message references 'ovl_iterate_merged()' and 'PTR_ERR(cache)' to confirm the fix is included. Test patched kernels in a staging environment before production rollout, particularly if your workloads depend on overlay filesystems. Reboot systems to activate the patched kernel; overlay filesystem mount operations will use the corrected code immediately upon kernel load.
Detection guidance
Monitor system logs for directory enumeration failures (POSIX error codes returned by getdents64, opendir, readdir calls) occurring on overlay filesystem mount points, especially in nested overlay scenarios. Correlate spurious readdir failures with unprivileged user activity or container workload restarts. Use strace or auditd to capture readdir syscall failures on suspect filesystems. Deploy kernel tracing (eBPF or kprobes) to instrument ovl_iterate_merged() and observe err values to identify instances where non-zero values are returned despite successful cache retrieval. File integrity monitoring tools may report false positive changes if applications retry failed directory operations, so tune detection rules accordingly. Container runtime logs may show application-level directory enumeration failures as indirect evidence of the kernel bug.
Why prioritize this
CVE-2026-53174 rates HIGH priority for organizations running Linux with overlay filesystems and unprivileged user access. The combination of moderate exploitability (local access required), significant operational impact (directory operation failures in containers/overlays), and broad exposure (common in modern container infrastructure) justifies rapid patch deployment. Organizations with minimal overlay filesystem use or isolated unprivileged user access can deprioritize relative to other critical vulnerabilities, but container-native organizations should treat this as high priority. The non-critical CVSS vector and lack of KEV status should not reduce vigilance—reliability degradation in containerized workloads carries downstream business costs.
Risk score, explained
CVSS 7.8 (HIGH) reflects a local-only attack vector, low complexity, and requirement for unprivileged user privileges, offset by high impact on confidentiality, integrity, and availability. The score assumes an environment where untrusted users can interact with overlay filesystems. In contexts with strong user isolation, the risk is lower; in container environments with shared kernel namespaces, the risk approaches the scored level. The score does not account for business context (container criticality, workload sensitivity) or attack likelihood, which should be assessed during risk prioritization.
Frequently asked questions
Can this vulnerability be exploited remotely or without local user access?
No. The vulnerability requires local access and unprivileged user execution context. Remote exploitation is not possible. Exposure is limited to scenarios where untrusted users have shell access or where containers run untrusted workloads.
Does this vulnerability allow privilege escalation?
The bug itself does not directly escalate privileges. It causes directory operations to return false errors, which can disrupt application behavior and potentially trigger error-handling code paths. In rare cases, poorly written privilege-separated applications might mishandle the false error and expose elevated operations, but this is not a direct privilege escalation vector.
What is the difference between overlay filesystems and standard filesystems in terms of this bug?
Overlay filesystems layer multiple directory trees (e.g., read-only lower layers and read-write upper layers) into a unified view. The bug affects the process of merging directories from multiple layers during readdir operations. Nested overlays (overlay-on-overlay) amplify the issue by triggering the buggy code path multiple times in a call chain. Standard filesystems do not use overlay semantics and are unaffected.
If I'm using containers, am I automatically vulnerable?
Not necessarily. Vulnerability depends on the kernel version running your container host and whether the kernel includes the flawed overlay code. Most modern container hosts use relatively recent kernels, so exposure is likely, but patched kernels are also in circulation. Check your kernel version (uname -r) against your distribution's CVE advisory to confirm exposure.
This analysis is based on published vulnerability data current as of the stated publication date. Patch availability and affected version ranges vary by Linux distribution; consult your vendor's security advisory for definitive guidance. CVSS scores and KEV status reflect official sources but may change with additional analysis. This document does not constitute legal advice or a guarantee of security. Organizations should perform their own risk assessment, testing, and validation before applying patches or mitigations in production environments. Proof-of-concept code, weaponized exploits, and detailed attack recipes are not included herein; refer to trusted security research sources for technical deep dives. Source: NVD (public-domain), retrieved 2026-08-03. Analysis generated by SEC.co (claude-haiku-4-5).
Affected vendors
Related vulnerabilities
- CVE-2026-0270HIGHCortex XSOAR Path Traversal on Linux — Exploit Requirements & Patching Guide
- CVE-2026-0271HIGHPalo Alto Networks Prisma Access Agent Linux Privilege Escalation
- CVE-2026-10001HIGHChrome Sandbox Escape via PerformanceManager Use-After-Free
- CVE-2026-10002HIGHGoogle Chrome PDFium Use-After-Free Vulnerability (CVSS 8.8)
- CVE-2026-10003HIGHChrome Use-After-Free Code Execution Vulnerability Analysis
- CVE-2026-10006HIGHChrome WebAudio Race Condition Remote Code Execution
- CVE-2026-10007HIGHChrome Use-After-Free in SVG Arbitrary Code Execution (CVSS 8.8)
- CVE-2026-10009HIGHChrome Skia Integer Overflow Sandbox Escape – Patch Guidance