Skip to main content

FreeBSD Linuxulator CVE-2026-49413

| EUVDEUVD-2026-39965 HIGH
Incorrect Privilege Assignment (CWE-266)
2026-06-27 freebsd
7.1
CVSS 3.1 · Vendor: freebsd
Share

Severity by source

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

Local unprivileged user (AV:L, PR:L) reliably preloads code into a setuid-root binary, yielding full C/I/A control, so C:H rather than the reported C:N.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/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: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
None
Integrity
High
Availability
High

Lifecycle Timeline

3
Analysis Generated
Jul 22, 2026 - 20:08 vuln.today
CVE Published
Jun 27, 2026 - 09:08 cve.org
UNKNOWN (no severity yet)
CVE Published
Jun 27, 2026 - 09:08 cve.org
HIGH 7.1

DescriptionCVE.org

The Linuxulator determined whether a binary was set-user-ID or set-group-ID by checking the P_SUGID process flag. During execve(2), this flag is not yet set at the point where the auxiliary vector is constructed, so AT_SECURE was incorrectly set to zero for set-user-ID and set-group-ID executables.

An unprivileged local user can inject a shared library via LD_PRELOAD into a set-user-ID or set-group-ID Linux binary, gaining the privileges of that binary.

AnalysisAI

Local privilege escalation in FreeBSD's Linux binary compatibility layer (Linuxulator) allows an unprivileged user to preload a malicious shared library into set-user-ID or set-group-ID Linux binaries. Because the P_SUGID flag is not yet set when execve(2) builds the auxiliary vector, AT_SECURE is written as zero, so the Linux runtime loader fails to disable LD_PRELOAD and other unsafe behaviors for privileged binaries. Affects FreeBSD 14.3, 14.4, and 15.0 release branches; no public exploit identified at time of analysis, and EPSS risk is low (0.14%, 4th percentile).

Technical ContextAI

The Linuxulator is FreeBSD's kernel-level ABI compatibility subsystem that lets native Linux ELF binaries run on FreeBSD. The Linux dynamic loader (ld.so) relies on the AT_SECURE entry in the ELF auxiliary vector to decide whether a process is running in 'secure mode' - when AT_SECURE is 1, the loader ignores attacker-influenced environment variables such as LD_PRELOAD and LD_LIBRARY_PATH. FreeBSD's implementation derived AT_SECURE from the P_SUGID process flag, but during execve(2) that flag is set only after the auxiliary vector has already been constructed, producing a time-of-construction ordering bug in which AT_SECURE is always emitted as zero for setuid/setgid Linux binaries. This maps to CWE-266 (Incorrect Privilege Assignment): a privileged execution context is not correctly recognized as privileged, so the security hardening that should apply to setuid/setgid programs is silently skipped.

RemediationAI

Vendor-released patch: update to FreeBSD 14.4-RELEASE-p6, 14.3-RELEASE-p15, or 15.0-RELEASE-p10 (or later) as applicable to your branch, following FreeBSD-SA-26:30.linux (https://security.freebsd.org/advisories/FreeBSD-SA-26:30.linux.asc); apply via freebsd-update or by rebuilding the kernel from patched sources, then reboot so the corrected execve/auxiliary-vector code path is loaded. If patching must be deferred, the most effective compensating control is to unload/disable the Linux compatibility layer entirely by removing the linux kernel module (kldunload linux linux64) and preventing linux_enable in rc.conf - this eliminates the vulnerable code path but breaks any workloads that depend on running Linux binaries. Where the Linuxulator must remain enabled, reduce exposure by removing the setuid/setgid bit from Linux binaries that do not strictly require it and by restricting untrusted local/interactive access to hosts that run privileged Linux executables; note these controls only shrink the attack surface and are not a substitute for the fix.

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-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-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-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

CVE-2018-8897 HIGH POC
7.8 May 08

A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) wa

CVE-2012-3549 HIGH POC
7.8 Oct 09

The SCTP implementation in FreeBSD 8.2 allows remote attackers to cause a denial of service (NULL pointer dereference an

CVE-2024-29937 CRITICAL POC
9.8 Apr 11

NFS in a BSD derived codebase, as used in OpenBSD through 7.4 and FreeBSD through 14.0-RELEASE, allows remote attackers

Share

CVE-2026-49413 vulnerability details – vuln.today

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