Skip to main content

FreeBSD Kernel CVE-2026-45257

| EUVDEUVD-2026-39780 HIGH
Write-what-where Condition (CWE-123)
2026-06-10
7.8
CVSS 3.1 · Vendor
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain local unprivileged shell
  2. Delivery
    Enable kTLS RX on loopback socket with attacker-chosen AES-GCM key/IV
  3. Exploit
    sendfile(2) SUID binary into loopback TCP socket
  4. Install
    Kernel DMAP remap preserves page-cache physical address
  5. C2
    In-place AES-GCM decrypt writes shellcode bytes into page cache
  6. Execute
    Execute modified SUID binary
  7. Impact
    Root shell obtained

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Write-what-where prevention
Exploitation Conditions

Exploitation requires a standard unprivileged local user account with shell access - no special group membership, capability, sudo permission, or network-facing service interaction is needed. The target system must be running FreeBSD 13.0 through 15.0 on a PMAP_HAS_DMAP architecture (amd64, arm64, or riscv). Two kernel configuration defaults must be active: kern.ipc.mb_use_ext_pgs=1 (the boot-time default on all PMAP_HAS_DMAP architectures - no administrator action enables this, it is on by default) and MK_KERN_TLS built into the kernel (the default in GENERIC kernels). The attacker must be able to read the target file - world-readable SUID binaries such as /usr/bin/su satisfy this with no additional access. The attack runs entirely over the loopback interface (lo0) and requires no external network connectivity. Factors that DO NOT limit exploitation: chflags schg (system immutable flag) is explicitly confirmed to not prevent the overwrite. Factors that limit exploitation: FreeBSD 12.x and earlier are not affected; non-DMAP architectures (32-bit x86, mips, powerpc without DMAP) are not affected; systems with kern.ipc.mb_use_ext_pgs=0 or kernels built without MK_KERN_TLS are not affected.

Impact

No CVSS score, vector, or EPSS probability is provided in the available data - all CVSS metrics in this report are independently assessed. KEV status is unconfirmed; this vulnerability is not present in the CISA KEV catalog based on available data, though the June 9, 2026 public disclosure date means KEV lag remains plausible. Despite the absence of these enrichment signals, the real-world risk is assessed as critical based on first-principles analysis: a public exploit with confirmed root LPE in 1.5 seconds, zero race condition, no special group or capability required, and default preconditions on every PMAP_HAS_DMAP FreeBSD 13.0+ system. The exploit primitive is broadly applicable - any world-readable file can be overwritten, and the bypass of chflags schg extends impact to files that administrators consider protected. Multi-tenant deployments (hosting providers, jail-based infrastructure, containerized BSD environments) are acutely at risk because the attack vector is purely local and requires only a standard shell account. The functional equivalence to Linux Dirty Pipe (CVE-2022-0847, CVSS 7.8, EPSS ~0.45 at peak) provides a useful benchmark: Dirty Pipe saw rapid exploitation in cloud and hosting contexts within days of disclosure. The absence of CVSS/EPSS data should not be interpreted as low risk; it reflects NVD enrichment lag for a same-day disclosure.

Exploit ScenarioDerived

An attacker with a standard unprivileged shell account creates a loopback TCP socket pair and issues a TCP_RXTLS_ENABLE setsockopt on the receiving socket, supplying a self-chosen AES-128-GCM key, salt, and IV - no privilege check is performed on this call. The attacker then uses sendfile(2) to send a target SUID-root binary (e.g., /usr/bin/su) into the sending socket; because lo0 lacks IFCAP_MEXTPG, Guard 2 remaps the EXTPG mbuf via sf_buf to the same underlying physical page rather than copying it. The kTLS RX path decrypts the record in-place over the page-cache physical page via DMAP, writing 36 bytes of setuid(0)+execve('/bin/sh') shellcode into the binary's entry point; the attacker executes the modified binary to obtain a root shell, achieving end-to-end LPE in approximately 1.5 seconds. A public PoC (bumsrakete.c) implementing this exact flow is included in the oss-security disclosure.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 10, 2026

Page-cache corruption in FreeBSD's kTLS-RX subsystem (CVE-2026-45257 / FreeBSD-SA-26:26.kTLS) enables an unprivileged local user to overwrite arbitrary bytes in the backing physical page of any world-readable file, including SUID-root binaries, by exploiting in-place AES-GCM decryption running directly over sendfile(2)-produced EXTPG mbufs via the kernel direct map (DMAP). The write bypasses the VFS layer entirely, defeating file permissions, mount options, and chflags schg immutable flags - making this the FreeBSD functional equivalent of Linux CVE-2022-0847 (Dirty Pipe). A public exploit (bumsrakete.c) is included in the oss-security disclosure and achieves reliable root LPE in approximately 1.5 seconds on default FreeBSD 13.0 through 15.0 on amd64, arm64, and riscv; no public KEV listing has been identified at time of analysis.

RemediationAI

Apply the vendor patch documented in FreeBSD-SA-26:26.kTLS; the exact patched release version is not confirmed in the available data beyond the advisory identifier, so administrators should monitor https://www.freebsd.org/security/advisories/ and freebsd-security-notifications@ for the patched release announcement. As an immediate workaround, adding kern.ipc.mb_use_ext_pgs=0 to /etc/sysctl.conf and rebooting disables EXTPG mbufs entirely, eliminating the vulnerable code path; the trade-off is reduced kTLS throughput because zero-copy page-cache-backed mbufs will no longer be used for TLS offload, increasing CPU overhead and memory copies for TLS workloads. An alternative workaround is rebuilding the kernel with MK_KERN_TLS disabled, which removes the kTLS subsystem entirely; this eliminates all kernel TLS offload capability and will affect applications that explicitly depend on kernel-side TLS processing. For multi-tenant hosting or jail environments that cannot patch or apply the sysctl workaround immediately, restricting interactive shell access is the most effective compensating control given the purely local attack vector. Note explicitly that chflags schg (system immutable flag) does NOT prevent exploitation on vulnerable systems and should not be relied upon as a compensating control.

Affected VersionsENISA

FreeBSD 15.0-RELEASE <p10
FreeBSD 14.4-RELEASE <p6
FreeBSD 14.3-RELEASE <p15

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

FreeBSD's kernel TLS (kTLS) subsystem offloads TLS record encryption and decryption into the kernel for performance. The sendfile(2) syscall produces vnode-backed M_EXTPG mbufs whose m_epg_pa[] array stores the physical addresses of the file's actual page-cache pages (sys/kern/kern_sendfile.c:963). On PMAP_HAS_DMAP architectures (amd64, arm64, riscv), the kernel direct map allows translating any physical address to a kernel virtual address via PHYS_TO_DMAP(). The kTLS RX decrypt path (sys/opencrypto/criov.c:273, sys/crypto/aesni/aesni.c:599-605) calls AES_GCM_decrypt with input and output pointing to the same DMAP-derived address, writing plaintext directly over the page-cache page. Three guards exist to prevent EXTPG mbufs from reaching the in-place decrypt: mb_unmapped_compress (gated on payload length <= ~224 bytes on amd64, bypassed by using records >224 bytes), mb_unmapped_to_ext (converts EXTPG for interfaces lacking IFCAP_MEXTPG such as lo0, but allocates sf_buf whose kva == PHYS_TO_DMAP(pa) on DMAP architectures, preserving the same physical mapping), and sb_mark_notready (moves data into the kTLS decrypt queue with no M_EXTPG check at all). All three are bypassable in sequence. The vulnerable sendfile/EXTPG path was introduced in commit 3c0e56850511 (~2020) and first shipped in FreeBSD 13.0. No CWE is assigned in the available data; the root cause class most closely corresponds to improper isolation between kernel subsystems - specifically, the assumption that EXTPG mbufs from sendfile are safe to decrypt in-place without verifying that the output buffer is not a live page-cache page.

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

Vendor (CNA) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Local-only exploit requiring a standard shell account (PR:L, AV:L); default config, no race (AC:L); scope changed as user privilege boundary is crossed to achieve root and persistent filesystem modification (S:C, C/I/A:H).

3.1 AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (CNA).

CVSS VectorVendor

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

1
CVSS changed
Jun 26, 2026 - 16:22 NVD
7.8 (HIGH)

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Social Media
4
Sightings
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

39
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +39
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2012-0217 HIGH POC
7.2 Jun 12

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

CVE-2025-14558 HIGH POC
7.2 Mar 09

The rtsol(8) and rtsold(8) programs do not validate the domain search list options provided in router advertisement mess

CVE-2020-1967 HIGH POC
7.5 Apr 21

Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due

CVE-2013-4854 HIGH POC
7.8 Jul 29

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

CVE-2024-6387 HIGH POC
8.1 Jul 01

Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to

CVE-2019-6111 MEDIUM POC
5.9 Jan 31

An issue was discovered in OpenSSH 7.9. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2013-2171 MEDIUM POC
6.9 Jul 02

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

CVE-2021-3449 MEDIUM
5.9 Mar 25

An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. Rated med

CVE-2016-5766 HIGH POC
8.8 Aug 07

Integer overflow in the _gd2GetHeader function in gd_gd2.c in the GD Graphics Library (aka libgd) before 2.2.3, as used

CVE-2016-1879 HIGH POC
7.5 Jan 29

The Stream Control Transmission Protocol (SCTP) module in FreeBSD 9.3 before p33, 10.1 before p26, and 10.2 before p9, w

CVE-2020-7457 HIGH POC
8.1 Jul 09

In FreeBSD 12.1-STABLE before r359565, 12.1-RELEASE before p7, 11.4-STABLE before r362975, 11.4-RELEASE before p1, and 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy