Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconGain local low-privilege process execution
-
DeliveryIdentify application using AT_RESOLVE_BENEATH for containment
-
ExploitSupply path with directory traversal components
-
InstallCall unlinkat() with AT_RESOLVE_BENEATH flag
-
C2Kernel validates but drops flag silently
-
ExecutePath resolves above intended directory root
-
ImpactDelete files outside intended directory tree
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V8 - Authorization Privilege drop verification
|
| Exploitation Conditions | Exploitation requires a local process running with at least low-level user privileges (PR:L per CVSS). The critical prerequisite is that the vulnerable call path is exercised: the target application must use unlinkat(2) or funlinkat(2) and pass AT_RESOLVE_BENEATH as a security boundary, and the attacker must be able to influence the path argument to include traversal components (e.g., '../../'). Systems where no application relies on AT_RESOLVE_BENEATH for containment are not exposed to elevated risk beyond what already exists. The vulnerability does NOT allow privilege escalation to root on its own. Limiting factors: local access required, application must specifically use AT_RESOLVE_BENEATH for containment semantics, and the attacker must have influence over path arguments. Exploitation is not automatable across the network. |
| Impact | The CVSS 3.1 vector AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H reflects a local, low-complexity attack requiring only user-level privilege - consistent with the nature of the syscall interface. Real-world exploitation is narrowly scoped: only processes that explicitly use AT_RESOLVE_BENEATH as a security boundary for unlinkat/funlinkat are affected; applications that do not rely on this flag for containment are not exposed to increased risk. EPSS at 0.13% (3rd percentile) correctly reflects the niche preconditions - an attacker must control a local process AND the target application must be using AT_RESOLVE_BENEATH as a sandbox mechanism. No KEV listing and no POC code have been identified. The Availability impact rated High reflects the potential deletion of critical files if containment is bypassed, which could undermine system stability. The 'Information Disclosure' tag in the intelligence feed appears to be a misclassification; the description and CVSS metrics (C:N) confirm no confidentiality impact. |
| Exploit ScenarioDerived | A local user-level process - such as a container runtime, archive extractor, or sandboxed file manager - opens a directory fd and invokes unlinkat(dirfd, '../../etc/passwd', AT_RESOLVE_BENEATH), expecting the flag to prevent resolution above the directory root. Because the kernel drops the flag before path lookup, the traversal succeeds and the file is deleted outside the intended tree. No public exploit code exists, and exploitation requires attacker influence over path arguments supplied to a process that uses AT_RESOLVE_BENEATH for containment. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 26, 2026
Path containment bypass in FreeBSD's unlinkat(2) and funlinkat(2) syscalls allows a local low-privileged process to delete files outside its intended directory scope. The kernel validates AT_RESOLVE_BENEATH but silently discards it before handing off to the path resolution layer, making the flag a no-op security guarantee. Applications using this flag as a sandbox boundary for file deletion operations are exposed to unintended tree traversal, with impact on both filesystem integrity and availability. No public exploit code and no CISA KEV listing have been identified; EPSS is 0.13% (3rd percentile), indicating low observed exploitation probability.
RemediationAI
Apply the patched kernel from the official FreeBSD Security Advisory FreeBSD-SA-26:42.unlinkat.asc (https://security.freebsd.org/advisories/FreeBSD-SA-26:42.unlinkat.asc). Target patch levels are: FreeBSD 15.0-RELEASE p11 or later, FreeBSD 15.1-RELEASE p1 or later, FreeBSD 14.3-RELEASE p16 or later, and FreeBSD 14.4-RELEASE p7 or later. As a compensating control prior to patching, application developers who rely on AT_RESOLVE_BENEATH for path containment in unlinkat/funlinkat calls should implement supplementary application-level path validation (e.g., resolving the full canonical path with realpath(3) and confirming it falls within the intended root before proceeding); note that this adds latency and race-condition surface (TOCTOU) and is not a substitute for the kernel fix. Restricting which local users or processes can call these syscalls via MAC frameworks (e.g., Capsicum capability mode where applicable) can further reduce exposure.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
AT_RESOLVE_BENEATH is a FreeBSD extension to the openat(2)-family of syscalls that restricts path resolution to descendants of the provided directory file descriptor, preventing '..' traversal out of a directory tree. The bug (CWE-273 - Improper Check for Dropped Privileges) manifests because the kernel's unlinkat/funlinkat implementation validates the presence of the flag but fails to propagate it into the underlying namei/lookup call, silently nullifying the enforcement. This class of flaw - where a security-relevant flag passes input validation but is then dropped from the enforcement path - is particularly dangerous because callers receive no error and gain false confidence that containment is active. Affected products are identified via CPE cpe:2.3:a:freebsd:freebsd:*:*:*:*:*:*:*:* across multiple stable release branches.
Know when Freebsd gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Local syscall interface requires user-level process execution (PR:L, AV:L); flag drop is unconditional so no special configuration needed (AC:L); deletion-only impact means no confidentiality loss (C:N).
Primary rating from Vendor (freebsd).
CVSS VectorVendor: freebsd
Lifecycle Timeline
3DescriptionCVE.org
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.
Executive ViewAI
Local users on FreeBSD systems can bypass application-enforced file deletion boundaries through a path containment bypass in unlinkat(2) and funlinkat(2) syscalls, enabling unauthorized removal of protected files. This vulnerability threatens system integrity and data availability across all unprotected FreeBSD deployments and cannot be remediated through vendor patching at this time. Immediate identification and mitigation of at-risk systems is required.
No vendor-released patch identified at time of analysis. Interim mitigations include: restricting local system access to trusted users; enforcing filesystem-level access controls (ACLs) on sensitive directories; implementing application-level file access validation independent of kernel-enforced boundaries; running affected applications in containerized environments with read-only or restrictive mount options; enhancing audit logging for file deletion operations in protected scopes; and isolating multi-user FreeBSD systems to limit exposure to local privilege escalation.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and
The rtsol(8) and rtsold(8) programs do not validate the domain search list options provided in router advertisement mess
Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due
The RFC 5011 implementation in rdata.c in ISC BIND 9.7.x and 9.8.x before 9.8.5-P2, 9.8.6b1, 9.9.x before 9.9.3-P2, and
Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to
An issue was discovered in OpenSSH 7.9. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
The vm_map_lookup function in sys/vm/vm_map.c in the mmap implementation in the kernel in FreeBSD 9.0 through 9.1-RELEAS
An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. Rated med
Integer overflow in the _gd2GetHeader function in gd_gd2.c in the GD Graphics Library (aka libgd) before 2.2.3, as used
The Stream Control Transmission Protocol (SCTP) module in FreeBSD 9.3 before p33, 10.1 before p26, and 10.2 before p9, w
In FreeBSD 12.1-STABLE before r359565, 12.1-RELEASE before p7, 11.4-STABLE before r362975, 11.4-RELEASE before p1, and 1
EUVD-2026-62243
NVD
CVE.org
EPSS
GitHub PoC
Exploit-DB