CVE-2026-58087

EUVD-2026-62364
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.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.8 HIGH
LOCAL
LOW
NONE
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 5.19%
Affected Products (NVD)
VendorProductVersion
freebsdfreebsd
14.4
freebsdfreebsd
14.4:p1
freebsdfreebsd
14.4:p2
freebsdfreebsd
14.4:p3
freebsdfreebsd
14.4:p4
freebsdfreebsd
14.4:p5
freebsdfreebsd
14.4:p6
freebsdfreebsd
14.4:p7
freebsdfreebsd
14.4:rc1
freebsdfreebsd
15.0
freebsdfreebsd
15.0:p1
freebsdfreebsd
15.0:p10
freebsdfreebsd
15.0:p11
freebsdfreebsd
15.0:p2
freebsdfreebsd
15.0:p3
freebsdfreebsd
15.0:p4
freebsdfreebsd
15.0:p5
freebsdfreebsd
15.0:p6
freebsdfreebsd
15.0:p7
freebsdfreebsd
15.0:p8
freebsdfreebsd
15.0:p9
freebsdfreebsd
15.1
freebsdfreebsd
15.1:p1
freebsdfreebsd
15.1:rc2
freebsdfreebsd
15.1:rc3-p1
𝑥
= Vulnerable software versions