Skip to content
CVE PROGRAM SOURCE RECORD9.4 Critical

CVE-2024-47678

icmp: change the order of rate limits

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 < 997ba8889611891f91e8ad83583466aeab6239a3affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to < 662ec52260cc07b9ae53ecd3925183c29d34288baffected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to < a7722921adb046e3836eb84372241f32584bdb07affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to < 483397b4ba280813e4a9c161a0a85172ddb43d19affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to < 8c2bd38b95f75f3d2a08c93e35303e26d480d24eaffected

Linux Linux

Default version status: affected

  • 3.18affected
  • 0 to < 3.18unaffected
  • 6.1.113 to ≤ 6.1.*unaffected
  • 6.6.54 to ≤ 6.6.*unaffected
  • 6.10.13 to ≤ 6.10.*unaffected
  • 6.11.2 to ≤ 6.11.*unaffected
  • 6.12 to ≤ *unaffected

References