CVE Database›Document archive›CVE-2026-64218

CVE-2026-64218

kernel: batman-adv: bla: fix report_work leak on backbone_gw purge

Loading…

Severity

Moderate

Red Hat Product Security

—

CVSS

Review impact separately from score.

Published · July 24, 2026

Updated · October 30, 2026

Description

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

batman-adv: bla: fix report_work leak on backbone_gw purge

batadv_bla_purge_backbone_gw() removes stale backbone gateway entries, but fails to properly handle their associated report_work:

  • If report_work is running, the purge must wait for it to finish before freeing the backbone_gw, otherwise the worker may access freed memory (e.g. bat_priv).
  • If report_work is pending, the purge must cancel it and release the reference held for that pending work item.

The previous implementation called hlist_for_each_entry_safe() inside a spin_lock_bh() section, but cancel_work_sync() may sleep and therefore cannot be called from within a spinlock-protected region.

Restructure the loop to handle one entry per spinlock critical section: acquire the lock, find the next entry to purge, remove it from the hash list, then release the lock before calling cancel_work_sync() and dropping the hash_entry reference. Repeat until no more entries require purging.

Statement

This vulnerability is rated as Important because the race condition can result in kernel use-after-free memory corruption, potentially enabling local privilege escalation or complete system compromise. In typical Red Hat Enterprise Linux environments, the B.A.T.M.A.N. Advanced mesh networking module is neither loaded nor enabled by default. Consequently, the attack surface is limited to specific configurations where mesh network routing and bridge loop avoidance are explicitly deployed.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CWE-825 · Expired Pointer Dereference