Description
In the Linux kernel, the following vulnerability has been resolved: icmp: change the order of rate limits ICMP messages are ratelimited : After the blamed commits, the two rate limiters are applied in this order: 1) host wide ratelimit (icmp_global_allow()) 2) Per destination ratelimit (inetpeer based) In order to avoid side-channels attacks, we need to apply the per destination check first. This patch makes the following change : 1) icmp_global_allow() checks if the host wide limit is reached. But credits are not yet consumed. This is deferred to 3) 2) The per destination limit is checked/updated. This might add a new node in inetpeer tree. 3) icmp_global_consume() consumes tokens if prior operations succeeded. This means that host wide ratelimit is still effective in keeping inetpeer tree small even under DDOS. As a bonus, I removed icmp_global.lock as the fast path can use a lock-free operation.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
4cdf507d54525842dfd9f6313fdafba039084046 to < 997ba8889611891f91e8ad83583466aeab6239a3affected4cdf507d54525842dfd9f6313fdafba039084046 to < 662ec52260cc07b9ae53ecd3925183c29d34288baffected4cdf507d54525842dfd9f6313fdafba039084046 to < a7722921adb046e3836eb84372241f32584bdb07affected4cdf507d54525842dfd9f6313fdafba039084046 to < 483397b4ba280813e4a9c161a0a85172ddb43d19affected4cdf507d54525842dfd9f6313fdafba039084046 to < 8c2bd38b95f75f3d2a08c93e35303e26d480d24eaffected
Linux Linux
Default version status: affected
3.18affected0 to < 3.18unaffected6.1.113 to ≤ 6.1.*unaffected6.6.54 to ≤ 6.6.*unaffected6.10.13 to ≤ 6.10.*unaffected6.11.2 to ≤ 6.11.*unaffected6.12 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/997ba8889611891f91e8ad83583466aeab6239a3 ↗
- https://git.kernel.org/stable/c/662ec52260cc07b9ae53ecd3925183c29d34288b ↗
- https://git.kernel.org/stable/c/a7722921adb046e3836eb84372241f32584bdb07 ↗
- https://git.kernel.org/stable/c/483397b4ba280813e4a9c161a0a85172ddb43d19 ↗
- https://git.kernel.org/stable/c/8c2bd38b95f75f3d2a08c93e35303e26d480d24e ↗
- https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html ↗