Skip to main content
← All vulnerabilities
CVE-2024-26643

netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.4.274, 5.10.215, 5.15.154, 6.1.84, 6.5, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: mark set as dead when unbinding anonymous set with timeout While the rhashtable set gc runs asynchronously, a race allows it to collect elements from anonymous sets with timeouts while it is being released from the commit path. Mingi Cho originally reported this issue in a different path in 6.1.x with a pipapo set with low timeouts which is not possible upstream since 7395dfacfff6 ("netfilter: nf_tables: use timestamp to check for set element timeout"). Fix this by setting on the dead flag for anonymous sets to skip async gc in this case. According to 08e4c8c5919f ("netfilter: nf_tables: mark newset as dead on transaction abort"), Florian plans to accelerate abort path by releasing objects via workqueue, therefore, this sets on the dead flag for abort path too.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • Linux Linux

    From 8da1b048f9a501d3d7d38c188ba09d7d0d5b8c27 · fixed in d75a589bb92af1abf3b779cfcd1977ca11b27033; From bbdb3b65aa91aa0a32b212f27780b28987f2d94f · fixed in edcf1a3f182ecf8b6b805f0ce90570ea98c5f6bf; From 448be0774882f95a74fa5eb7519761152add601b · fixed in e2d45f467096e931044f0ab7634499879d851a5c; From d19e8bf3ea4114dd21fc35da21f398203d7f7df1 · fixed in 291cca35818bd52a407bc37ab45a15816039e363; From ea3eb9f2192e4fc33b795673e56c97a21987f868 · fixed in 406b0241d0eb598a0b330ab20ae325537d8d8163; From 5f68718b34a531a556f2f50300ead2862278da26 · fixed in b2d6f9a5b1cf968f1eaa71085ceeb09c2cb276b1; From 5f68718b34a531a556f2f50300ead2862278da26 · fixed in 5224afbc30c3ca9ba23e752f0f138729b2c48dd8; From 5f68718b34a531a556f2f50300ead2862278da26 · fixed in 552705a3650bbf46a22b1adedc1b04181490fc36; From 5.4.262 · fixed in 5.4.274; From 5.10.198 · fixed in 5.10.215; From 5.15.134 · fixed in 5.15.154; From 6.1.56 · fixed in 6.1.84; From 6.4.11 · fixed in 6.5

  • Linux Linux

    6.5

  • KernelLinux

    fixed in 5.4.274; From 5.5.0 · fixed in 5.10.215; From 5.11.0 · fixed in 5.15.154; From 5.16.0 · fixed in 6.1.84; From 6.2.0 · fixed in 6.6.24; From 6.5.0 · fixed in 6.7.12

References 8

git.kernel.org