Skip to main content
VulnerabilityPublished Updated

CVE-2026-46196: Linux kernel · tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func()

Affects Linux kernelSource CVE Database V5

0
Compare

Not known to be exploited · fixed in fad217e16fded7f3c09f8637b0f6a224d58b5f2e : update Linux kernel when convenient.

Data as of 6 Nov 2026, 16:34 UTC

Severity
Unrated

Rated by Threat Radar · No CVSS score from NVD or the CNA

Thin evidence

One scorer or none
CISA SSVC
Exploitation
No evidence of active exploitation and no public proof of concept
Automatable
Attackers cannot reliably automate steps 1–4 of the kill chain
Technical impact
Limited control over the software or limited information exposure

CISA SSVC assessment, 2026-11-06.

Patch
Available – fixed in fad217e16fded7f3c09f8637b0f6a224d58b5f2e, 5787052e5f69beb649f3d6a80a8aa37d9e683e4e, 342829e042ac00f3d68d442ea92873fb6683f494 +5

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 28 May 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 6 Nov 2026.

What to do

Upgrade to a fixed release listed under Affected software.

Affected software

ProductAffectedFixed in
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < fad217e16fded7f3c09f8637b0f6a224d58b5f2e
Fixed in
  • fad217e16fded7f3c09f8637b0f6a224d58b5f2e
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < 5787052e5f69beb649f3d6a80a8aa37d9e683e4e
Fixed in
  • 5787052e5f69beb649f3d6a80a8aa37d9e683e4e
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < 342829e042ac00f3d68d442ea92873fb6683f494
Fixed in
  • 342829e042ac00f3d68d442ea92873fb6683f494
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < 247ed8a969f981bfba3112fd4bb441eaa6cef59c
Fixed in
  • 247ed8a969f981bfba3112fd4bb441eaa6cef59c
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < 36ff362235307af95152d510b53c2d9b8773a342
Fixed in
  • 36ff362235307af95152d510b53c2d9b8773a342
LinuxLinuxAffected
  • ≥ 8cf868affdc459beee1a941df0cfaba1673740e3, < 7bcadb3c2bc1cf60690e931aadd35fb7bd646a49
Fixed in
  • 7bcadb3c2bc1cf60690e931aadd35fb7bd646a49

Description

In the Linux kernel, the following vulnerability has been resolved: tracepoint: balance regfunc() on func_add() failure in tracepoint_add_func() When a tracepoint goes through the 0 -> 1 transition, tracepoint_add_func() invokes the subsystem's ext->regfunc() before attempting to install the new probe via func_add(). If func_add() then fails (for example, when allocate_probes() cannot allocate a new probe array under memory pressure and returns -ENOMEM), the function returns the error without calling the matching ext->unregfunc(), leaving the side effects of regfunc() behind with no installed probe to justify them. For syscall tracepoints this is particularly unpleasant: syscall_regfunc() bumps sys_tracepoint_refcount and sets SYSCALL_TRACEPOINT on every task. After a leaked failure, the refcount is stuck at a non-zero value with no consumer, and every task continues paying the syscall trace entry/exit overhead until reboot. Other subsystems providing regfunc()/unregfunc() pairs exhibit similarly scoped persistent state. Mirror the existing 1 -> 0 cleanup and call ext->unregfunc() in the func_add() error path, gated on the same condition used there so the unwind is symmetric with the registration.

References

Community reviews

Loading reviews…