# CVE-2026-58087

## Summary

- **CVE ID:** CVE-2026-58087
- **Severity:** HIGH
- **CVSS Score:** 7.8 (CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H)
- **CWE:** CWE-191, CWE-125, CWE-787
- **Published:** Aug 19, 2026
- **Last Modified:** Aug 20, 2026

## 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.

## Affected Products

- FreeBSD — FreeBSD (15.1-RELEASE)
- FreeBSD — FreeBSD (15.0-RELEASE)
- FreeBSD — FreeBSD (14.4-RELEASE)

## References

- [CNA](https://security.freebsd.org/advisories/FreeBSD-SA-26:54.sysvsem.asc)

## Exploitation Prediction (EPSS)

- **EPSS Score:** 0.12%
- **EPSS Percentile:** 2.2

---
_Exported from OnDuty AI Vulnerability Intelligence on 2026-09-10._