Description
In the Linux kernel, the following vulnerability has been resolved:

batman-adv: tp_meter: fix tp_vars reference leak in receiver shutdown

The receiver shutdown timer handler, batadv_tp_receiver_shutdown(), is
responsible for releasing the tp_vars reference it holds. However, the
existing logic for coordinating this release with batadv_tp_stop_all() was
flawed.

timer_shutdown_sync() guarantees the timer will not fire again after it
returns, but it returns non-zero only when the timer was pending at the
time of the call. If the timer had already expired (and
batadv_tp_stop_all() would unsucessfully try to rearm itself),
batadv_tp_stop_all() skips its batadv_tp_vars_put(), and
batadv_tp_receiver_shutdown() fails to put its own reference as well.

Fix this by introducing a new atomic variable receiving that is set to 1
when the receiver is initialized and cleared atomically with atomic_xchg()
by whichever side claims it first. Only the side that observes the
transition from 1 to 0 is responsible for releasing the tp_vars timer
reference, eliminating the uncertainty.
Published: 2026-07-19
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The batman‑adv module in the Linux kernel contains a telemetry receiver that mistakenly fails to release a reference to the tp_vars structure when the shutdown timer fires. The bug causes a memory/resource leak which, over time, could exhaust kernel resources and degrade system stability. The weakness is a classic reference leak (CWE‑911) where an unpaired release of a refcounted object leads to resource exhaustion.

Affected Systems

All Linux kernel builds that ship with the batman‑adv driver and include the tp_meter implementation prior to the commit that adds the atomic receiving flag are potentially vulnerable. Because the fix is tied to a kernel-patched code path, any kernel older than the commit implementing the atomic flag may be affected, regardless of the exact version string.

Risk and Exploitability

The Exploit Probability Score is below 1 % and the vulnerability is not listed in the CISA KEV catalog, indicating a very low current exploitation likelihood. Attacks would need to trigger the flawed receiver shutdown sequence, which typically requires access to kernel memory or elevated privileges, so the attack vector is local and privileged. No remote exploitation path is reported. While the leak could eventually lead to resource exhaustion, the probability of exploitation remains low but warrants timely remediation.

Generated by OpenCVE AI on July 30, 2026 at 20:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that incorporates the batman‑adv reference‑leak fix referenced in the provided commit metadata.
  • If a kernel upgrade is not immediately possible, unload the batman‑adv module or disable the Feature on the system to prevent the faulty timer path from executing.
  • Monitor kernel logs and system resource usage for signs of memory exhaustion or repeated failures that could indicate the leak remains active.

Generated by OpenCVE AI on July 30, 2026 at 20:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 21 Jul 2026 00:15:00 +0000


Sun, 19 Jul 2026 16:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: batman-adv: tp_meter: fix tp_vars reference leak in receiver shutdown The receiver shutdown timer handler, batadv_tp_receiver_shutdown(), is responsible for releasing the tp_vars reference it holds. However, the existing logic for coordinating this release with batadv_tp_stop_all() was flawed. timer_shutdown_sync() guarantees the timer will not fire again after it returns, but it returns non-zero only when the timer was pending at the time of the call. If the timer had already expired (and batadv_tp_stop_all() would unsucessfully try to rearm itself), batadv_tp_stop_all() skips its batadv_tp_vars_put(), and batadv_tp_receiver_shutdown() fails to put its own reference as well. Fix this by introducing a new atomic variable receiving that is set to 1 when the receiver is initialized and cleared atomically with atomic_xchg() by whichever side claims it first. Only the side that observes the transition from 1 to 0 is responsible for releasing the tp_vars timer reference, eliminating the uncertainty.
Title batman-adv: tp_meter: fix tp_vars reference leak in receiver shutdown
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-07-19T15:40:00.603Z

Reserved: 2026-07-19T07:54:57.032Z

Link: CVE-2026-64092

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

Severity :

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-64092 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T20:45:17Z

Weaknesses
  • CWE-911

    Improper Update of Reference Count