# CVE-2026-58099: FreeBSD kernel kqueue memory safety bugs in copy-on-fork

Source: https://junglewise.ai/threats/cve-2026-58099-when-copying-knotes-from-a-parent-kqueue-to-a-child-the-copy-code  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-15. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-58099 · Severity: info · Published 2026-10-15

FreeBSD's kqueue mechanism manages system events across processes. Two memory safety bugs in the copy-on-fork implementation could allow an unprivileged local attacker to escalate privileges by exploiting race conditions. An attacker could trigger use-after-free or out-of-bounds memory access during process forking.

Technologies: [Freebsd](https://junglewise.ai/threats/technologies/freebsd). Vendors: [Freebsd](https://junglewise.ai/threats/vendors/freebsd).

## Quick answers

**Is CVE-2026-58099 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-58099 being exploited in the wild.

**How severe is CVE-2026-58099?** Informational severity, published 15 October 2026.

**Which products and versions are affected?** Freebsd 15.1.

**Is there a fix for CVE-2026-58099?** Yes: fixed in FreeBSD 15.1-RELEASE-p4, 15.1-STABLE (as of 2026-09-29). Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-58099 attacked?** It is attacked with local access, in an operating system.

**Am I affected by CVE-2026-58099?** Check whether you run Freebsd at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in FreeBSD 15.1-RELEASE-p4, 15.1-STABLE (as of 2026-09-29)

## Technical details

CVE-2026-58099 involves a use-after-free race: when copying knotes to a child process, marker knotes were not excluded before marking them in-flux and releasing the lock, allowing a thread to free the marker while the lock was dropped, causing subsequent operations to dereference freed memory. CVE-2026-58100 involves an out-of-bounds read in kqueue_fork_copy_knote() where a knote's file descriptor number was used without bounds checking against the child's file descriptor table. Both vulnerabilities are triggered by local threads and lead to privilege escalation.

## Affected products

- FreeBSD FreeBSD 15.1

## Timeline

- 2026-09-29: disclosed
- 2026-09-29: patched
- 2026-10-15: advisory

## References

- [https://security.freebsd.org/advisories/FreeBSD-SA-26:65.kqueue.asc](https://security.freebsd.org/advisories/FreeBSD-SA-26:65.kqueue.asc)

## Related threats

- [FreeBSD kqueue out-of-bounds read in fork copy](https://junglewise.ai/threats/cve-2026-58100-kqueue-fork-copy-knote-indexed-into-the-child-s-file-descriptor)
- [FreeBSD kernel heap out-of-bounds access in semop(2)](https://junglewise.ai/threats/cve-2026-58098-when-semop-2-blocks-waiting-for-a-semaphore-condition-it-releases)
- [FreeBSD sound(4) use-after-free in buffer resize TOCTOU race](https://junglewise.ai/threats/cve-2026-101308-when-an-audio-channel-s-buffer-needs-to-be-resized-the-sound-4)
- [FreeBSD RACK stack buffer overflow in tcp_rack](https://junglewise.ai/threats/cve-2026-101307-when-the-pcm-sample-array-needs-to-grow-the-rack-stack-doubles-a)
- [FreeBSD jail filesystem root escape via SCM_RIGHTS](https://junglewise.ai/threats/cve-2026-101306-scm-rights-file-descriptor-passing-did-not-preserve-fd-resolve)
