FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

FreeBSD -- Kernel use-after-free via file descriptor syscalls

Affected packages
15.0 <= FreeBSD-kernel < 15.0_9
14.4 <= FreeBSD-kernel < 14.4_5
14.3 <= FreeBSD-kernel < 14.3_14

Details

VuXML ID ee21f41f-54b5-11f1-8d7a-bc241121aa0a
Discovery 2026-05-20
Entry 2026-05-21

Problem Description:

A file descriptor can be closed while a thread is blocked in a poll(2) or select(2) call waiting for that descriptor. Because the blocked thread does not hold a reference to the underlying object, this closure may result in the object being freed while the thread remains blocked. In this situation, the kernel must remove the blocked thread from the per-object wait queue prior to freeing the object.

In the case of some file descriptor types, the kernel failed to unlink blocked threads from the object before freeing it. When the blocked thread is subsequently woken, it accesses memory that has already been freed resulting in a use-after-free vulnerability.

Impact:

The use-after-free vulnerability may be triggered by an unprivileged local user and can be exploited to obtain superuser privileges.

References

CVE Name CVE-2026-45251
FreeBSD Advisory SA-26:19.file