PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-46196 Linux CVE debrief

A logic error in the Linux kernel's tracepoint subsystem can leave syscall tracing permanently enabled across all tasks when memory allocation fails during probe installation. The vulnerability occurs in tracepoint_add_func() when a 0→1 transition invokes ext->regfunc() before func_add(), but func_add() fails (e.g., -ENOMEM from allocate_probes()) without triggering the matching ext->unregfunc(). For syscall tracepoints, this leaks sys_tracepoint_refcount and leaves SYSCALL_TRACEPOINT set on every task, forcing unnecessary syscall entry/exit overhead until reboot. The fix adds symmetric cleanup in the func_add() error path, mirroring the existing 1→0 transition handling.

Vendor
Linux
Product
Unknown
CVSS
MEDIUM 5.5
CISA KEV
Not listed in stored evidence
Original CVE published
2026-05-28
Original CVE updated
2026-06-19
Advisory published
2026-05-28
Advisory updated
2026-06-19

Who should care

Linux kernel maintainers, system administrators running custom kernel builds, performance engineers monitoring syscall overhead, and security teams tracking kernel resource leak conditions

Technical summary

The tracepoint_add_func() function in the Linux kernel performs a two-phase registration: first calling the subsystem's ext->regfunc() to prepare state, then func_add() to install the probe. When func_add() fails due to memory allocation failure (-ENOMEM), the error return path omitted ext->unregfunc(), leaving subsystem state inconsistent. For syscall tracepoints specifically, syscall_regfunc() increments a global refcount and sets a per-task flag; without the matching unregfunc(), these remain set indefinitely. The fix introduces conditional unregfunc() invocation in the func_add() failure path, using the same transition-detection logic as the normal unregistration path to ensure symmetry.

Defensive priority

medium

Recommended defensive actions

  • Apply kernel updates from stable branches containing the fix commits
  • Monitor for abnormal syscall tracepoint refcount values in /sys/kernel/debug/tracing
  • Review custom tracepoint probe loading code for error handling patterns
  • Validate memory pressure handling in production kernel deployments

Evidence notes

The vulnerability description and fix details are derived from the official CVE record and NVD source data. The issue was resolved in the Linux kernel stable branches with commits addressing the missing unregfunc() call in the error path.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-46196 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-46196

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-46196 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-46196

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/247ed8a969f981bfba3112fd4bb441eaa6cef59c

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/2c5b8eeea006eb694c81631cd5713d494b80be90

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/342829e042ac00f3d68d442ea92873fb6683f494

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/7bcadb3c2bc1cf60690e931aadd35fb7bd646a49

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/fad217e16fded7f3c09f8637b0f6a224d58b5f2e

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.