The kernel function that implements unlinkat(2) and funlinkat(2) validated the AT_RESOLVE_BENEATH flag but failed to pass it through to the underlying path lookup. The flag was silently dropped, so path resolution was not actually restricted. A process that uses AT_RESOLVE_BENEATH with unlinkat(2) or funlinkat(2) to confine path resolution can in fact resolve paths above the starting directory. A caller relying on this flag for path containment may delete files outside the intended directory tree.
History

Wed, 19 Aug 2026 05:45:00 +0000

Type Values Removed Values Added
Description The kernel function that implements unlinkat(2) and funlinkat(2) validated the AT_RESOLVE_BENEATH flag but failed to pass it through to the underlying path lookup. The flag was silently dropped, so path resolution was not actually restricted. A process that uses AT_RESOLVE_BENEATH with unlinkat(2) or funlinkat(2) to confine path resolution can in fact resolve paths above the starting directory. A caller relying on this flag for path containment may delete files outside the intended directory tree.
Title unlinkat(2) ignores AT_RESOLVE_BENEATH flag
Weaknesses CWE-273
References

cve-icon MITRE

Status: PUBLISHED

Assigner: freebsd

Published:

Updated: 2026-08-19T05:25:43.003Z

Reserved: 2026-05-29T20:24:28.616Z

Link: CVE-2026-49421

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-19T06:17:41.160

Modified: 2026-08-19T06:17:41.160

Link: CVE-2026-49421

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.