CVE-2024-35982
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
20/05/2024
Last modified:
05/11/2024
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
batman-adv: Avoid infinite loop trying to resize local TT<br />
<br />
If the MTU of one of an attached interface becomes too small to transmit<br />
the local translation table then it must be resized to fit inside all<br />
fragments (when enabled) or a single packet.<br />
<br />
But if the MTU becomes too low to transmit even the header + the VLAN<br />
specific part then the resizing of the local TT will never succeed. This<br />
can for example happen when the usable space is 110 bytes and 11 VLANs are<br />
on top of batman-adv. In this case, at least 116 byte would be needed.<br />
There will just be an endless spam of<br />
<br />
batman_adv: batadv0: Forced to purge local tt entries to fit new maximum fragment MTU (110)<br />
<br />
in the log but the function will never finish. Problem here is that the<br />
timeout will be halved all the time and will then stagnate at 0 and<br />
therefore never be able to reduce the table even more.<br />
<br />
There are other scenarios possible with a similar result. The number of<br />
BATADV_TT_CLIENT_NOPURGE entries in the local TT can for example be too<br />
high to fit inside a packet. Such a scenario can therefore happen also with<br />
only a single VLAN + 7 non-purgable addresses - requiring at least 120<br />
bytes.<br />
<br />
While this should be handled proactively when:<br />
<br />
* interface with too low MTU is added<br />
* VLAN is added<br />
* non-purgeable local mac is added<br />
* MTU of an attached interface is reduced<br />
* fragmentation setting gets disabled (which most likely requires dropping<br />
attached interfaces)<br />
<br />
not all of these scenarios can be prevented because batman-adv is only<br />
consuming events without the the possibility to prevent these actions<br />
(non-purgable MAC address added, MTU of an attached interface is reduced).<br />
It is therefore necessary to also make sure that the code is able to handle<br />
also the situations when there were already incompatible system<br />
configuration are present.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.13 (including) | 4.19.313 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.275 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.216 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.156 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.1.87 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (including) | 6.6.28 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.8.7 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/04720ea2e6c64459a90ca28570ea78335eccd924
- https://git.kernel.org/stable/c/3fe79b2c83461edbbf86ed8a6f3924820ff89259
- https://git.kernel.org/stable/c/4ca2a5fb54ea2cc43edea614207fcede562d91c2
- https://git.kernel.org/stable/c/70a8be9dc2fb65d67f8c1e0c88c587e08e2e575d
- https://git.kernel.org/stable/c/87b6af1a7683e021710c08fc0551fc078346032f
- https://git.kernel.org/stable/c/b1f532a3b1e6d2e5559c7ace49322922637a28aa
- https://git.kernel.org/stable/c/b3ddf6904073990492454b1dd1c10a24be8c74c6
- https://git.kernel.org/stable/c/ca54e2671548616ad34885f90d4f26f7adb088f0



