Skip to main content
← All vulnerabilities
CVE-2026-58087

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in p2, p12, p8
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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.

Timeline

  1. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  2. CVE published
  3. Record last updated

Affected versions

  • FreeBSD FreeBSD

    From 15.1-RELEASE · fixed in p2; From 15.0-RELEASE · fixed in p12; From 14.4-RELEASE · fixed in p8

References 1

security.freebsd.org