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

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

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

Summary

When semop(2) blocks waiting for a semaphore condition, it releases the per-set lock and sleeps. Upon waking, it checks the sequence number embedded in the semaphore set's IPC identifier to detect whether the set was removed while the caller was asleep. This sequence number is only 15 bits wide. If enough semaphore sets are created and destroyed in the same table slot while a caller is blocked, the counter wraps around, and semop(2) may falsely conclude that the original set still exists. The subsequent access to a semaphore within the set may then be out of bounds. An unprivileged local user can trigger an out-of-bounds access on kernel heap memory, potentially leading to privilege escalation.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated

Affected versions

  • FreeBSD FreeBSD

    From 15.1-RELEASE · fixed in p4; From 15.0-RELEASE · fixed in p14; From 14.5-RELEASE · fixed in p1; From 14.4-RELEASE · fixed in p10

References 1

security.freebsd.org