Out-of-bounds Read in FreeBSD
CVE-2026-58087
The GETALL and SETALL commands in semctl(2) recorded the number of semaphores in the target set, dropped the lock protecting the set, allocated a buffer sized for that count, and reacquired the lock. A sequence-number check was used to verify that the set had not been replaced in the interim, but the sequence number wraps after 0x8000 create/destroy cycles. By rapidly destroying and recreating semaphore sets at the same index, another process can cause the sequence number to wrap, allowing a set with a different number of semaphores to pass validation. The subsequent copy then reads or writes past the end of the allocated buffer. An unprivileged local user can trigger out-of-bounds reads and writes on kernel heap memory, potentially leading to privilege escalation.
Vulnerability class: Buffer Overflow
CVSS v3 metric
CVSS v3 base score 7.8 (High). Vector: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H.
Affected products
Weakness classification (CWE)
References
- secteam@freebsd.org (vendor-advisory)
Frequently asked questions
- What is CVE-2026-58087?
- CVE-2026-58087 is a high-severity vulnerability in FreeBSD, classified under Out-of-bounds Read. CVSS score: 7.8/10. Published 2026-08-19.
- How severe is CVE-2026-58087?
- High severity. CVSS v3 base score is 7.8 out of 10.