CVEvulnerability

CVE-2026-58087

7.8 HIGH Published 2026-08-19 Modified 2026-10-27 Official page ↗
Status
Analyzed
Published
2026-08-19
Last modified
2026-10-27
Assigner
[email protected]
CVSS 3.1 (134c704f-9b21-4f2e-91b3-4a467353bcc0)
7.8 HIGH — CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weaknesses
CWE-125, CWE-191, CWE-787

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.

Affected configurations

• freebsd freebsd 14.4 • freebsd freebsd 15.0 • freebsd freebsd 15.1

Related

Weakness · CWE (3)

  • CWE-125 Out-of-bounds Read weakness
  • CWE-191 Integer Underflow (Wrap or Wraparound) weakness
  • CWE-787 Out-of-bounds Write weakness

References