ISOMAN

CVE

CVE-2026-58087

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.

Severity
HIGH
CVSS
7.8
Published
Modified

Linked Releases

DistributionReleaseStatusEvidence
FreeBSD15.0-RELEASE amd64 bootonlyunknownsource
FreeBSD15.0-RELEASE amd64 disc1unknownsource
FreeBSD15.0-RELEASE amd64 dvd1unknownsource
FreeBSD15.0-RELEASE amd64 memstickunknownsource
FreeBSD15.0-RELEASE amd64 mini-memstickunknownsource
FreeBSD15.0-RELEASE aarch64 pine64-ltsunknownsource
FreeBSD15.0-RELEASE aarch64 pine64unknownsource
FreeBSD15.0-RELEASE aarch64 pinebookunknownsource
FreeBSD15.0-RELEASE aarch64 rock64unknownsource
FreeBSD15.0-RELEASE aarch64 rockpro64unknownsource
FreeBSD15.0-RELEASE aarch64 rpiunknownsource
FreeBSD15.0-RELEASE aarch64 bootonlyunknownsource
FreeBSD15.0-RELEASE aarch64 disc1unknownsource
FreeBSD15.0-RELEASE aarch64 dvd1unknownsource
FreeBSD15.0-RELEASE aarch64 memstickunknownsource
FreeBSD15.0-RELEASE aarch64 mini-memstickunknownsource
FreeBSD15.0-RELEASE powerpc64 bootonlyunknownsource
FreeBSD15.0-RELEASE powerpc64 disc1unknownsource
FreeBSD15.0-RELEASE powerpc64le bootonlyunknownsource
FreeBSD15.0-RELEASE powerpc64le disc1unknownsource
FreeBSD15.0-RELEASE riscv64 genericsdunknownsource
FreeBSD15.0-RELEASE riscv64 bootonlyunknownsource
FreeBSD15.0-RELEASE riscv64 disc1unknownsource
FreeBSD15.0-RELEASE riscv64 memstickunknownsource
FreeBSD15.0-RELEASE riscv64 mini-memstickunknownsource
FreeBSD14.4-RELEASE amd64 bootonlyunknownsource
FreeBSD14.4-RELEASE amd64 disc1unknownsource
FreeBSD14.4-RELEASE amd64 dvd1unknownsource
FreeBSD14.4-RELEASE amd64 memstickunknownsource
FreeBSD14.4-RELEASE amd64 mini-memstickunknownsource
FreeBSD14.4-RELEASE aarch64 pine64-ltsunknownsource
FreeBSD14.4-RELEASE aarch64 pine64unknownsource
FreeBSD14.4-RELEASE aarch64 pinebookunknownsource
FreeBSD14.4-RELEASE aarch64 rock64unknownsource
FreeBSD14.4-RELEASE aarch64 rockpro64unknownsource
FreeBSD14.4-RELEASE aarch64 rpiunknownsource
FreeBSD14.4-RELEASE aarch64 bootonlyunknownsource
FreeBSD14.4-RELEASE aarch64 disc1unknownsource
FreeBSD14.4-RELEASE aarch64 dvd1unknownsource
FreeBSD14.4-RELEASE aarch64 memstickunknownsource
FreeBSD14.4-RELEASE aarch64 mini-memstickunknownsource
FreeBSD14.4-RELEASE i386 bootonlyunknownsource
FreeBSD14.4-RELEASE i386 disc1unknownsource
FreeBSD14.4-RELEASE i386 dvd1unknownsource
FreeBSD14.4-RELEASE i386 memstickunknownsource
FreeBSD14.4-RELEASE i386 mini-memstickunknownsource
FreeBSD14.4-RELEASE powerpc bootonlyunknownsource
FreeBSD14.4-RELEASE powerpc disc1unknownsource
FreeBSD14.4-RELEASE powerpc64 bootonlyunknownsource
FreeBSD14.4-RELEASE powerpc64 disc1unknownsource
FreeBSD14.4-RELEASE powerpc64le bootonlyunknownsource
FreeBSD14.4-RELEASE powerpc64le disc1unknownsource
FreeBSD14.4-RELEASE riscv64 genericsdunknownsource
FreeBSD14.4-RELEASE riscv64 bootonlyunknownsource
FreeBSD14.4-RELEASE riscv64 disc1unknownsource
FreeBSD14.4-RELEASE riscv64 memstickunknownsource
FreeBSD14.4-RELEASE riscv64 mini-memstickunknownsource

References

  1. https://security.freebsd.org/advisories/FreeBSD-SA-26:54.sysvsem.asc