CVE Catalog

CVE-2026-64089

CriticalCVSS 9.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.55%

43th percentile - higher than 43% of all known CVEs

Summary

In the Linux kernel, the batman-adv module has a vulnerability where the last_changeset_len field is declared as signed short (s16) but never intended to hold negative values. Assigning a value greater than 32767 wraps it to a negative signed integer, causing incorrect sign extension when widened to s32 in batadv_send_my_tt_response(). This results in allocating a full-sized buffer but populating only a small portion, leaving the rest uninitialized.

Risk Assessment

The risk involves potential leakage of uninitialized kernel memory to the network, which could allow an attacker to read sensitive information or destabilize the system.

Recommendation

Immediately update the Linux kernel to a version containing the fix that changes the last_changeset_len field type to u16 to prevent incorrect sign extension.

Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tt: fix negative last_changeset_len batadv_piv_tt::last_changeset_len len was declared as s16, but the field is never intended to hold a negative value. When a value greater than 32767 is assigned, it wraps to a negative signed integer. In batadv_send_my_tt_response(), last_changeset_len is temporarily widened to s32. The incorrectly negative s16 value propagates into the s32, causing batadv_tt_prepare_tvlv_local_data() to allocate a full sized buffer but populates only a small portion of it with the collected changeset. All remaining bits are kept uninitialized. Using an u16 avoids this type confusion and ensures that no (negative) sign extension is performed in batadv_send_my_tt_response().

Vulnerability data from NVD (NIST) · CISA KEV · EPSS