Arbitrary file overwrite via the KTLS receive path
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CISA ADP. Fix status from CNA.
Summary
The KTLS receive path decrypted each record in place, assuming that the mbufs holding received data were anonymous and safe to modify. This assumption does not hold for data placed on a socket by sendfile(2), which can reference file-backed memory directly through non-anonymous M_EXTPG pages or EXT_SFBUF mbufs. When the sender transmits such data over a loopback connection without enabling KTLS on the transmit side, the file-backed mbufs reach the receiver's decryption path unchanged. Decrypting a record in place then overwrites the backing file's page cache instead of a private copy of the data. An unprivileged local user who can read a file can overwrite its contents with data of their choosing by sending the file over a loopback connection on which they have enabled KTLS receive. The write modifies the page cache directly, so it bypasses file flags such as schg and is written back to disk. By overwriting a setuid binary or other trusted file, a local user can escalate privileges, potentially gaining full control of the affected system.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| FreeBSD | FreeBSD | 15.0-RELEASE to before p10; 14.4-RELEASE to before p6; 14.3-RELEASE to before p15 | p10, p6, p15 | Patch available | CNA |
- FreeBSD VendorFreeBSD Affected 15.0-RELEASE to before p10; 14.4-RELEASE to before p6; 14.3-RELEASE to before p15 Fixed in p10, p6, p15 Patch available CNA
CPE configurations NVD · 33
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:freebsd:freebsd:14.3:-:*:*:*:*:*:* | 14.3 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p1:*:*:*:*:*:* | 14.3 p1 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p10:*:*:*:*:*:* | 14.3 p10 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p11:*:*:*:*:*:* | 14.3 p11 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p12:*:*:*:*:*:* | 14.3 p12 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p13:*:*:*:*:*:* | 14.3 p13 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p14:*:*:*:*:*:* | 14.3 p14 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p2:*:*:*:*:*:* | 14.3 p2 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p3:*:*:*:*:*:* | 14.3 p3 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p4:*:*:*:*:*:* | 14.3 p4 | Vulnerable | FreeBSD |
- cpe:2.3:o:freebsd:freebsd:14.3:-:*:*:*:*:*:* Versions 14.3 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p1:*:*:*:*:*:* Versions 14.3 p1 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p10:*:*:*:*:*:* Versions 14.3 p10 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p11:*:*:*:*:*:* Versions 14.3 p11 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p12:*:*:*:*:*:* Versions 14.3 p12 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p13:*:*:*:*:*:* Versions 14.3 p13 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p14:*:*:*:*:*:* Versions 14.3 p14 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p2:*:*:*:*:*:* Versions 14.3 p2 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p3:*:*:*:*:*:* Versions 14.3 p3 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p4:*:*:*:*:*:* Versions 14.3 p4 Vulnerable ·FreeBSD
Show 23 more CPE
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:freebsd:freebsd:14.3:p5:*:*:*:*:*:* | 14.3 p5 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p6:*:*:*:*:*:* | 14.3 p6 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p7:*:*:*:*:*:* | 14.3 p7 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p8:*:*:*:*:*:* | 14.3 p8 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.3:p9:*:*:*:*:*:* | 14.3 p9 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:-:*:*:*:*:*:* | 14.4 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:p1:*:*:*:*:*:* | 14.4 p1 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:p2:*:*:*:*:*:* | 14.4 p2 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:p3:*:*:*:*:*:* | 14.4 p3 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:p4:*:*:*:*:*:* | 14.4 p4 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:p5:*:*:*:*:*:* | 14.4 p5 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:14.4:rc1:*:*:*:*:*:* | 14.4 rc1 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:-:*:*:*:*:*:* | 15.0 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p1:*:*:*:*:*:* | 15.0 p1 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p2:*:*:*:*:*:* | 15.0 p2 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p3:*:*:*:*:*:* | 15.0 p3 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p4:*:*:*:*:*:* | 15.0 p4 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p5:*:*:*:*:*:* | 15.0 p5 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p6:*:*:*:*:*:* | 15.0 p6 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p7:*:*:*:*:*:* | 15.0 p7 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p8:*:*:*:*:*:* | 15.0 p8 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.0:p9:*:*:*:*:*:* | 15.0 p9 | Vulnerable | FreeBSD |
| cpe:2.3:o:freebsd:freebsd:15.1:rc2:*:*:*:*:*:* | 15.1 rc2 | Vulnerable | FreeBSD |
- cpe:2.3:o:freebsd:freebsd:14.3:p5:*:*:*:*:*:* Versions 14.3 p5 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p6:*:*:*:*:*:* Versions 14.3 p6 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p7:*:*:*:*:*:* Versions 14.3 p7 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p8:*:*:*:*:*:* Versions 14.3 p8 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.3:p9:*:*:*:*:*:* Versions 14.3 p9 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:-:*:*:*:*:*:* Versions 14.4 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:p1:*:*:*:*:*:* Versions 14.4 p1 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:p2:*:*:*:*:*:* Versions 14.4 p2 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:p3:*:*:*:*:*:* Versions 14.4 p3 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:p4:*:*:*:*:*:* Versions 14.4 p4 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:p5:*:*:*:*:*:* Versions 14.4 p5 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:14.4:rc1:*:*:*:*:*:* Versions 14.4 rc1 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:-:*:*:*:*:*:* Versions 15.0 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p1:*:*:*:*:*:* Versions 15.0 p1 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p2:*:*:*:*:*:* Versions 15.0 p2 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p3:*:*:*:*:*:* Versions 15.0 p3 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p4:*:*:*:*:*:* Versions 15.0 p4 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p5:*:*:*:*:*:* Versions 15.0 p5 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p6:*:*:*:*:*:* Versions 15.0 p6 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p7:*:*:*:*:*:* Versions 15.0 p7 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p8:*:*:*:*:*:* Versions 15.0 p8 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.0:p9:*:*:*:*:*:* Versions 15.0 p9 Vulnerable ·FreeBSD
- cpe:2.3:o:freebsd:freebsd:15.1:rc2:*:*:*:*:*:* Versions 15.1 rc2 Vulnerable ·FreeBSD
Remediation
- Fix · CNA FreeBSD (FreeBSD) Fixed in p10, p6, p15
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
FreeBSD p10, p15, p6
2 records Highest priority Priority HIGH 1 HIGH, 1 LOW
Other records, highest priority first
- TI-2026-33063 Missing permission check in thr_kill2(2)Priority LOW 24
Timeline
- 2026-10-02 Threatist record created from CVE-2026-45257
References
Advisory 4
More Freebsd vulnerabilities
- TI-2011-04182 Buffer overflow in libtelnet/encrypt.c in telnetd in FreeBSD 7.3 through 9.0, MIT… CVSS 2.0HIGH 10.0
- TI-2007-03684 Integer overflow in print-bgp.c in the BGP dissector in tcpdump 3.9.6 and earlier allows… CVSS 3.1CRITICAL 9.8
- TI-2002-00376 Integer overflow in xdr_array function in RPC servers for operating systems that use… CVSS 3.1CRITICAL 9.8
- TI-2024-05929 Openssh: regresshion - race condition in ssh allows rce/dos CVSS 3.1HIGH 8.1
- TI-2003-00437 Off-by-one error in the fb_realpath() function, as derived from the realpath function in… CVSS 3.1CRITICAL 9.8
- TI-2003-00642 The prescan function in Sendmail 8.12.9 allows remote attackers to execute arbitrary code… CVSS 2.0HIGH 10.0
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences