Heap out-of-bounds access in semctl(2)
Summary
| CVE | CVE-2026-58087 |
|---|---|
| State | PUBLISHED |
| Assigner | freebsd |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-08-19 08:17:12 UTC |
| Updated | 2026-08-19 08:17:12 UTC |
| Description | 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. |
Risk And Classification
Problem Types: CWE-125 | CWE-191 | CWE-787 | CWE-191 CWE-191: Integer Underflow (Wrap or Wraparound) | CWE-125 CWE-125: Out-of-bounds Read | CWE-787 CWE-787: Out-of-bounds Write
Vendor Declared Affected Products
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| security.freebsd.org/advisories/FreeBSD-SA-26:54.sysvsem.asc | [email protected] | security.freebsd.org | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: Maik Muench of Secfault Security (en)
There are currently no legacy QID mappings associated with this CVE.