CVE-2026-45256: Missing permission check in thr_kill2(2)
When used to deliver a signal to a specific thread, thrkill2(2) called pcansignal() 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).
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-45256?
CVE-2026-45256 has a medium severity rating of 5.5.
How does CVE-2026-45256 affect FreeBSD?
CVE-2026-45256 affects FreeBSD by allowing signals to be sent without proper permission checks, potentially compromising security.
What is the potential risk associated with CVE-2026-45256?
The risk associated with CVE-2026-45256 is that unauthorized signals can be sent to threads, which may lead to information exposure or system instability.
How do I fix CVE-2026-45256?
To fix CVE-2026-45256, you should apply the recommended patches provided by FreeBSD as outlined in their security advisory.
What components of FreeBSD are impacted by CVE-2026-45256?
CVE-2026-45256 specifically impacts the FreeBSD thr_kill2(2) system call.