CVE-2026-45256
Missing permission check in thr_kill2(2)
Description
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).
INFO
Published Date :
June 26, 2026, 3:16 p.m.
Last Modified :
June 26, 2026, 6:58 p.m.
Remotely Exploit :
No
Source :
[email protected]
CVSS Scores
| Score | Version | Severity | Vector | Exploitability Score | Impact Score | Source |
|---|---|---|---|---|---|---|
| CVSS | 134c704f-9b21-4f2e-91b3-4a467353bcc0 | |||||
| CVSS 3.1 | MEDIUM | 134c704f-9b21-4f2e-91b3-4a467353bcc0 |
Solution
- Apply vendor patches.
- Ensure signal delivery checks are enforced.
- Restrict unprivileged process signaling capabilities.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-45256.
| URL | Resource |
|---|---|
| https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc | Vendor Advisory |
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-45256 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-45256
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-45256 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-45256 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
Initial Analysis by [email protected]
Jun. 26, 2026
Action Type Old Value New Value Added CPE Configuration OR *cpe:2.3:o:freebsd:freebsd:15.0:p1:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p2:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:-:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p1:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p2:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p3:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p4:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p5:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p6:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p7:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p8:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:-:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:rc1:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p3:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p9:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:-:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p4:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p10:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p11:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:p1:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:p2:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p5:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p6:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p12:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p13:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:p3:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:p4:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p7:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p8:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.3:p14:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:14.4:p5:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.0:p9:*:*:*:*:*:* *cpe:2.3:o:freebsd:freebsd:15.1:rc2:*:*:*:*:*:* Added Reference Type FreeBSD: https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc Types: Vendor Advisory -
CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0
Jun. 26, 2026
Action Type Old Value New Value Added CVSS V3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H Added SSVC {'id': 'CVE-2026-45256', 'role': 'CISA Coordinator', 'options': [{'exploitation': 'none'}, {'automatable': 'no'}, {'technicalImpact': 'partial'}], 'version': '2.0.3', 'timestamp': '2026-06-26T15:29:58.924156Z'} -
New CVE Received by [email protected]
Jun. 26, 2026
Action Type Old Value New Value Added Affected [{'vendor': 'FreeBSD', 'modules': ['thr'], 'product': 'FreeBSD', 'versions': [{'status': 'affected', 'version': '15.0-RELEASE', 'lessThan': 'p10', 'versionType': 'release'}, {'status': 'affected', 'version': '14.4-RELEASE', 'lessThan': 'p6', 'versionType': 'release'}, {'status': 'affected', 'version': '14.3-RELEASE', 'lessThan': 'p15', 'versionType': 'release'}], 'defaultStatus': 'unknown'}] Added Description 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). Added CWE CWE-269 Added Reference https://security.freebsd.org/advisories/FreeBSD-SA-26:25.thr.asc