Paper/Archive/CVE-2024-47678

CVE-2024-47678

Linux Linux — icmp: change the order of rate limits

Description · from the CVE record

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

ProductAffectedFixed inSource
Linux4cdf507d54525842dfd9f6313fdafba039084046 – < 997ba8889611891f91e8ad83583466aeab6239a3997ba8889611891f91e8ad83583466aeab6239a3CNA
Linux4cdf507d54525842dfd9f6313fdafba039084046 – < 662ec52260cc07b9ae53ecd3925183c29d34288b662ec52260cc07b9ae53ecd3925183c29d34288bCNA
Linux4cdf507d54525842dfd9f6313fdafba039084046 – < a7722921adb046e3836eb84372241f32584bdb07a7722921adb046e3836eb84372241f32584bdb07CNA
Linux4cdf507d54525842dfd9f6313fdafba039084046 – < 483397b4ba280813e4a9c161a0a85172ddb43d19483397b4ba280813e4a9c161a0a85172ddb43d19CNA
Linux4cdf507d54525842dfd9f6313fdafba039084046 – < 8c2bd38b95f75f3d2a08c93e35303e26d480d24e8c2bd38b95f75f3d2a08c93e35303e26d480d24eCNA
Linux3.18–CNA

Scores by source

Linux (CNA)9.4CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
CISA ADPSSVCExploitation: none · Automatable: no · Technical impact: partial

References

refgit.kernel.org/stable/c/997ba8889611891f91e8ad83583466aeab6239a3refgit.kernel.org/stable/c/662ec52260cc07b9ae53ecd3925183c29d34288brefgit.kernel.org/stable/c/a7722921adb046e3836eb84372241f32584bdb07refgit.kernel.org/stable/c/483397b4ba280813e4a9c161a0a85172ddb43d19refgit.kernel.org/stable/c/8c2bd38b95f75f3d2a08c93e35303e26d480d24ereflists.debian.org/debian-lts-announce/2025/01/msg00001.html