Skip to main content

FreeBSD EUVDEUVD-2026-39966

| CVE-2026-49414 HIGH
Incorrect Behavior Order: Early Validation (CWE-179)
2026-06-27 freebsd
7.8
CVSS 3.1 · Vendor: freebsd
View

Attack ChainAIDerived

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

  1. Access
    Obtain local unprivileged account
  2. Delivery
    Call procctl(2) to disable ASLR
  3. Exploit
    execve(2) setuid PIE binary
  4. Execution
    PIE loaded at predictable base
  5. Persist
    Exploit separate memory-corruption bug
  6. Impact
    Escalate to root

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Requires local, unprivileged shell access to an affected FreeBSD host and the ability to invoke procctl(2) before execve(2) - the concrete prerequisite is calling PROC_ASLR_CTL to request ASLR disable, then executing a target that is BOTH setuid AND built as a position-independent executable (PIE). The flaw is only useful in practice when chained with a separate memory-corruption vulnerability in that setuid binary; on its own it grants no code execution or privilege gain. Limiting factors: it is not remotely exploitable (AV:L), it depends on the presence of a setuid PIE binary that is also separately vulnerable, and it requires the attacker already hold a local account (PR:L), so single-user, non-interactive, or fully patched systems are not at risk.

Impact

Signals are consistent and point to a real-but-secondary risk. The CVSS 3.1 vector (AV:L/AC:L/PR:L/UI:N) correctly reflects an unprivileged local user with no user interaction, and the 7.8 base score is driven by C:H/I:H/A:H - but those high impacts represent the downstream RCE that becomes possible, not a direct effect of this flaw, which by itself only removes a defense-in-depth mitigation and grants no code execution. EPSS is low (0.18%, 8th percentile), there is no CISA KEV listing, and no public exploit identified at time of analysis, all of which align: this is a useful exploitation primitive, not a standalone weaponizable bug. The practical priority is moderate - it elevates the severity of any other memory-corruption vulnerability in a setuid binary, so it should be patched on multi-user FreeBSD hosts, but it does not warrant emergency response on single-user or hardened deployments. Note the discrepancy to weigh: the headline 7.8/H-H-H impact assumes a chained second vulnerability, so treating this in isolation as a full RCE would overstate its standalone danger.

Exploit ScenarioDerived

An unprivileged user with shell access on a multi-user FreeBSD server who has discovered (or is chaining) a memory-corruption bug in a local setuid root binary calls procctl(2) to disable ASLR, then execve(2)s the setuid binary, which now loads at a predictable base address. With randomization removed, the attacker reliably crafts ROP/return-to-libc payloads against the second vulnerability to escalate to root. No public exploit for this specific flaw is identified at time of analysis, and the low attack complexity means the primitive is trivial to invoke once a chaining bug is available.

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 29, 2026

Local ASLR bypass in the FreeBSD ELF image activator (kernel) lets an unprivileged user neutralize address-space layout randomization for setuid PIE binaries. By calling procctl(2) to request ASLR disablement before execve(2), the per-process disable flag remains active when the PIE base address is computed, because the activator clears the flag too late. This is a mitigation-weakening flaw that materially eases exploitation of any separate memory-corruption bug in those privileged binaries; there is no public exploit identified at time of analysis and EPSS is low (0.18%, 8th percentile).

RemediationAI

Apply the FreeBSD security patches to a fixed level: update to FreeBSD 14.3-RELEASE-p15, 14.4-RELEASE-p6, or 15.0-RELEASE-p10 (or later) as documented in advisory FreeBSD-SA-26:32.elf (https://security.freebsd.org/advisories/FreeBSD-SA-26:32.elf.asc), typically via freebsd-update fetch install followed by a reboot. Until patching is possible, the most direct compensating control is to reduce the setuid attack surface - audit and remove or disable the setuid bit on non-essential setuid PIE binaries (chmod u-s), accepting that this can break functionality such as ping, su, or passwd for ordinary users and should be tested per binary. Restricting local/interactive access to trusted users also limits exposure since exploitation requires local code execution, but this only narrows the audience rather than closing the flaw. Generic ASLR sysctl tuning is not a reliable mitigation here because the defect specifically reintroduces a user-controlled disable for privileged targets, so patching is strongly preferred over workarounds.

Affected VersionsENISA

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

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

The issue lives in FreeBSD's kernel ELF image activator, the code path that loads ELF executables during execve(2) and lays out their memory, including the randomized base for position-independent executables (PIE). FreeBSD exposes per-process ASLR control via procctl(2) (PROC_ASLR_CTL), allowing a process to request that randomization be disabled. The bug is a classic CWE-179 (incorrect behavior order / improper handling of case sensitivity-adjacent ordering): for setuid binaries the activator was supposed to discard a user-requested ASLR-disable preference, but it cleared those flags after the base address was already computed instead of before. Because setuid execution crosses a privilege boundary, the user's earlier ASLR-disable request should not carry into the more-privileged process - here it does, defeating ASLR specifically for privileged setuid PIE targets.

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 (freebsd) PRIMARY 7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 3.3 LOW

Local unprivileged trigger (AV:L/AC:L/PR:L) with no direct code execution; the flaw only weakens an integrity mitigation (I:L), so no C/A impact standalone, unlike the vendor's chained 7.8.

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

Primary rating from Vendor (freebsd).

CVSS VectorVendor: freebsd

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

Lifecycle Timeline

2
CVSS changed
Jun 29, 2026 - 14:22 NVD
7.8 (HIGH)
CVE Published
Jun 27, 2026 - 09:22 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

The ELF image activator cleared per-process ASLR preference flags for setuid binaries after the code that computes the PIE base address, rather than before. As a result, a user-requested ASLR disable was still in effect at the point where the base address was chosen.

An unprivileged local user can disable ASLR for a setuid PIE binary by calling procctl(2) before execve(2). This makes exploitation of any separate memory corruption vulnerability in that binary significantly easier.

Executive ViewAI

Why It Matters

A local privilege-escalation weakness in FreeBSD's kernel allows any system user to disable address-space layout randomization (ASLR) on privileged binaries, weakening a critical security defense. The vulnerability requires local system access and no public exploits have been identified, but affected organizations should prioritize disabling unnecessary local access and pre-positioning for emergency patching.

Business Impact: Medium
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations: restrict local user shell access where operationally feasible; apply FreeBSD kernel hardening parameters; disable setuid bits on non-essential privileged binaries; implement application-level exploit detection or address-space entropy monitoring if available; isolate critical services on dedicated single-user systems.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
Medium
FreeBSD widely used in servers, storage, and network appliances, but far below Linux
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Medium
Technical Impact
Total

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

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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