CVE-2026-58087

Heap out-of-bounds access in semctl(2)

State
Published
Severity
7.8 High
Published
Aug 19, 2026
Updated
Aug 20, 2026
Reserved
Jun 29, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
FreeBSDFreeBSD
  • 15.1-RELEASE to before p2Affected
  • 15.0-RELEASE to before p12Affected
  • 14.4-RELEASE to before p8Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.