CVE-2024-47678

icmp: change the order of rate limits

State
Published
Severity
9.4 Critical
Published
Oct 21, 2024
Updated
Aug 5, 2026
Reserved
Sep 30, 2024

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.19.4 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:LLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4cdf507d54525842dfd9f6313fdafba039084046 to before 997ba8889611891f91e8ad83583466aeab6239a3Affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to before 662ec52260cc07b9ae53ecd3925183c29d34288bAffected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to before a7722921adb046e3836eb84372241f32584bdb07Affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to before 483397b4ba280813e4a9c161a0a85172ddb43d19Affected
  • 4cdf507d54525842dfd9f6313fdafba039084046 to before 8c2bd38b95f75f3d2a08c93e35303e26d480d24eAffected
LinuxLinux
  • 3.18Affected
  • before 3.18Not affected
  • 6.1.113 through 6.1.*Not affected
  • 6.6.54 through 6.6.*Not affected
  • 6.10.13 through 6.10.*Not affected
  • 6.11.2 through 6.11.*Not affected
  • 6.12 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.