CVE-2024-47678

Summary

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 Software

VendorProductVersion RangeStatus
LinuxLinux4cdf507d54525842dfd9f6313fdafba039084046 < 997ba8889611891f91e8ad83583466aeab6239a3affected
LinuxLinux4cdf507d54525842dfd9f6313fdafba039084046 < 662ec52260cc07b9ae53ecd3925183c29d34288baffected
LinuxLinux4cdf507d54525842dfd9f6313fdafba039084046 < a7722921adb046e3836eb84372241f32584bdb07affected
LinuxLinux4cdf507d54525842dfd9f6313fdafba039084046 < 483397b4ba280813e4a9c161a0a85172ddb43d19affected
LinuxLinux4cdf507d54525842dfd9f6313fdafba039084046 < 8c2bd38b95f75f3d2a08c93e35303e26d480d24eaffected
LinuxLinux3.18affected
LinuxLinux0 < 3.18unaffected
LinuxLinux6.1.113 <= 6.1.*unaffected
LinuxLinux6.6.54 <= 6.6.*unaffected
LinuxLinux6.10.13 <= 6.10.*unaffected
LinuxLinux6.11.2 <= 6.11.*unaffected
LinuxLinux6.12 <= *unaffected

Weaknesses

ADP Enrichment

CISA ADP Vulnrichment

  • SSVC:
  • Exploitation: none
    • Automatable: no
    • Technical Impact: partial

CVE Program Container

Additional References

References