Skip to main content

FreeBSD EUVDEUVD-2026-39776

| CVE-2026-45256 MEDIUM
Improper Privilege Management (CWE-269)
2026-06-26 secteam@freebsd.org GHSA-hvc9-hvw8-q2fx
5.5
CVSS 3.1 · Vendor: freebsd
View

Attack ChainAIDerived

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

  1. Recon
    Gain unprivileged local shell access
  2. Delivery
    Brute-force globally sequential thread IDs
  3. Exploit
    Call thr_kill2() with enumerated PID and TID
  4. Install
    p_cansignal() result ignored, signal unconditionally delivered
  5. C2
    SIGKILL sent to privileged or root-owned process
  6. Execute
    Critical system daemon terminated
  7. Impact
    Denial of Service or jail-escape to host achieved

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a local unprivileged account on the affected FreeBSD system (AV:L, PR:L) - remote exploitation is not possible without a pre-existing local foothold. No special system configuration or non-default features are required; the thr_kill2(2) system call is available to all local users by default. The attacker must supply a valid process ID and thread ID, but both are globally sequential and discoverable by brute force with zero prior visibility into the target, making this a low-skill enumeration. Jail boundary bypass is applicable whenever the attacker is executing inside a FreeBSD jail with no special jail configuration needed, since p_cansignal() normally enforces this boundary and the bypass is unconditional. Limiting factors: the vulnerability only poses risk on systems where untrusted local users or jailed processes are present; single-tenant systems with no local shell access to untrusted parties are not at practical risk. Sustained DoS requires repeated signaling because killed daemons may be automatically restarted by rc.d or init.

Impact

The official CVSS 3.1 score of 5.5 (AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H) accurately reflects the local, low-privilege exploitation vector and availability-only impact, but assigns Unchanged scope despite the advisory explicitly describing jail boundary bypass - this is a meaningful understatement of risk for jail-based multi-tenant FreeBSD deployments where cross-jail and host signaling represent a scope violation. SSVC assesses exploitation as 'none,' technical impact as 'partial,' and automatable as 'no,' consistent with the absence of a CISA KEV listing and no reported active exploitation at time of analysis. No EPSS score was provided in the source intelligence, so exploitation probability cannot be quantified beyond SSVC inference. The brute-forceable, globally sequential thread ID space materially lowers real-world attack complexity: an attacker requires no prior knowledge of the target process structure. Availability impact is High - SIGKILL can terminate any process including init or critical daemons, with cascading system instability. Organizations operating FreeBSD in multi-user or jail-isolated environments should treat priority as higher than the base score implies due to the jail escape dimension.

Exploit ScenarioDerived

A low-privileged local user or a process running inside a FreeBSD jail iterates through globally sequential thread IDs - requiring no prior knowledge of the target - and repeatedly calls thr_kill2() with candidate PID/TID pairs targeting a root-owned system daemon such as syslogd, cron, or ntpd. The kernel delivers SIGKILL to each matched thread regardless of the p_cansignal() result, terminating the daemon. A jailed attacker extends this attack to host processes by exploiting the same jail boundary bypass, effectively escaping the jail's isolation and causing cascading service failures across the host.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jun 26, 2026

Signal delivery bypass in FreeBSD's thr_kill2(2) system call allows an unprivileged local user - or a jailed process - to send arbitrary signals to any process on the system, including root-owned processes and critical daemons, causing Denial of Service. The flaw stems from a missing check on the return value of p_cansignal(), the kernel's permission enforcement primitive: the signal is unconditionally delivered before the error is propagated to the caller. No public exploit has been identified at time of analysis and SSVC assesses exploitation as none, though globally sequential thread IDs reduce the skill requirement to simple brute force, and the jail boundary bypass adds a container-escape dimension absent from the base CVSS score.

RemediationAI

Apply the vendor-released patches documented in FreeBSD Security Advisory FreeBSD-SA-26:25.thr.asc (https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc): upgrade FreeBSD 15.0-RELEASE to p10 or later, FreeBSD 14.3-RELEASE to p15 or later, and FreeBSD 14.4-RELEASE to p6 or later using freebsd-update or from source. As a compensating control pending patch deployment, administrators can restrict unprivileged access to the thr_kill2(2) system call via MAC framework policies (e.g., mac_bsdextended) or capsicum capability mode if the application profile permits - note that this may impact multi-threaded applications that legitimately use the call. For jail environments specifically, consider auditing which jailed workloads carry local user access and applying resource limits (rctl) or restricting jail-level syscall access, though neither fully mitigates the bypass without the kernel patch. Restarting affected systems after patching ensures the corrected kernel is active.

Affected VersionsENISA

FreeBSD 15.0-RELEASE <p10
FreeBSD 14.3-RELEASE <p15
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 vulnerable code path is FreeBSD's thr_kill2(2) system call, which sends a signal to a specific thread within a target process. The kernel calls p_cansignal() - a mandatory access control primitive - to determine whether the calling process may signal the target. A logic error causes the signal to be delivered unconditionally before the return value of p_cansignal() is evaluated; the error is propagated to the caller only after the signal has already been sent. CWE-269 (Improper Privilege Management) captures this root cause: the privilege enforcement mechanism is present but its result is not acted upon. Critically, p_cansignal() also enforces FreeBSD jail isolation boundaries, meaning a jailed process exploiting this flaw can signal processes on the host or in sibling jails - a container-escape-class impact for jail-based multi-tenant deployments. FreeBSD thread IDs are allocated from a global monotonically increasing counter, making them enumerable by brute force without any special privileges or prior visibility into the target. Affected versions confirmed by EUVD-2026-39776: FreeBSD 15.0-RELEASE prior to p10, FreeBSD 14.3-RELEASE prior to p15, and FreeBSD 14.4-RELEASE prior to p6.

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 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 6.5 MEDIUM

Jail boundary bypass constitutes a scope change (S:C); exploitation requires only a local low-privileged account; impact is availability-only from signal delivery.

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

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
None
Availability
High

Lifecycle Timeline

2
CVSS changed
Jun 26, 2026 - 16:22 NVD
5.5 (MEDIUM)
CVE Published
Jun 26, 2026 - 15:16 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

When used to deliver a signal to a specific thread, thr_kill2(2) called p_cansignal() to determine whether the operation was permitted but did not check the result before delivering the signal. The signal was sent even when the permission check failed. The system call returned the resulting error to the caller, but by then the signal had already been delivered.

The missing check allows an unprivileged local user who knows or can guess a target's process and thread IDs to send any signal to a process they would not normally be permitted to signal, including processes owned by other users or by root. The same check enforces jail boundaries, so a jailed process can signal processes on the host or in other jails. Thread IDs are allocated globally and sequentially, and so can be discovered by brute force with no visibility into the target.

An attacker can stop or terminate arbitrary processes, including critical system daemons, resulting in a Denial of Service (DoS).

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
niche BSD OS, specialized server and appliance deployments
Data Quality
4 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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