CVE-2026-58098

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

State
Published
Severity
8.4 High
Published
Oct 15, 2026
Updated
Oct 16, 2026
Reserved
Jun 29, 2026

Read the record on cve.org

Description

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.

Scores

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

Weaknesses

Affected Products

ProductVersions
FreeBSDFreeBSD
  • 15.1-RELEASE to before p4Affected
  • 15.0-RELEASE to before p14Affected
  • 14.5-RELEASE to before p1Affected
  • 14.4-RELEASE to before p10Affected

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.