Findings

CVE-2026-58099

Memory safety bugs in kqueue copy-on-fork implementation

Published Oct 15, 2026 · updated Oct 15, 2026 · FreeBSD FreeBSD

When copying knotes from a parent kqueue to a child, the copy code did not correctly exclude marker knotes (used internally to track list traversal position) before marking them as in-flux and releasing the kqueue lock. If another thread freed a marker while the lock was dropped, the subsequent in-flux decrement operated on freed memory. An unprivileged local user may be able to exploit these races to escalate privileges.

Timeline

Detection, updates, and resolution for this record.

  1. Oct 15, 2026 · NIST NVD

    Detected

    When copying knotes from a parent kqueue to a child, the copy code did not correctly exclude marker knotes (used internally to track list traversal position) before marking them as in-flux and releasing the kqueue lock. If another thread freed a marker while the lock was dropped, the subsequent in-flux decrement operated on freed memory. An unprivileged local user may be able to exploit these race

Affected

  • vendor FreeBSD FreeBSDversion unspecified

Sources

  • When copying knotes from a parent kqueue to a child, the copy code did not correctly exclude marker knotes (used internally to track list traversal position) before marking them as in-flux and releasing the kqueue lock. If another thread freed a marker while the lock was dropped,

    vulnerability.circl.lu
  • CVE.orgCVE-2026-58099

    Official CVE identifier

    cve.org
  • NIST NVDCVE-2026-58099

    When copying knotes from a parent kqueue to a child, the copy code did not correctly exclude marker knotes (used internally to track list traversal position) before marking them as in-flux and releasing the kqueue lock. If another thread freed a marker while the lock was dropped

    nvd.nist.gov

References

CVE-2026-58099 · ZeroDay Findings