CVE-2024-54683

netfilter: IDLETIMER: Fix for possible ABBA deadlock

State
Published
Severity
5.5 Medium
Published
Jan 11, 2025
Updated
Oct 30, 2026
Reserved
Jan 9, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

netfilter: IDLETIMER: Fix for possible ABBA deadlock

Deletion of the last rule referencing a given idletimer may happen at the same time as a read of its file in sysfs:

| ====================================================== | WARNING: possible circular locking dependency detected | 6.12.0-rc7-01692-g5e9a28f41134-dirty #594 Not tainted | ------------------------------------------------------ | iptables/3303 is trying to acquire lock: | ffff8881057e04b8 (kn->active#48){++++}-{0:0}, at: __kernfs_remove+0x20 | | but task is already holding lock: | ffffffffa0249068 (list_mutex){+.+.}-{3:3}, at: idletimer_tg_destroy_v] | | which lock already depends on the new lock.

A simple reproducer is:

| #!/bin/bash | | while true; do | iptables -A INPUT -i foo -j IDLETIMER --timeout 10 --label "testme" | iptables -D INPUT -i foo -j IDLETIMER --timeout 10 --label "testme" | done & | while true; do | cat /sys/class/xt_idletimer/timers/testme >/dev/null | done

Avoid this by freeing list_mutex right after deleting the element from the list, then continuing with the teardown.

Scores

CVSSScoreVectorSource
3.15.5 MediumCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HCISA-ADP

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 0902b469bd25065aa0688c3cee6f11744c817e7c to before 5493d84a40f0e61da74e1b0db640845997836b4eAffected
  • 0902b469bd25065aa0688c3cee6f11744c817e7c to before 8c2c8445cda8f59c38dec7dc10509bcb23ae26a0Affected
  • 0902b469bd25065aa0688c3cee6f11744c817e7c to before 45fe76573a2557f632e248cc141342233f422b9aAffected
  • 0902b469bd25065aa0688c3cee6f11744c817e7c to before f36b01994d68ffc253c8296e2228dfe6e6431c03Affected
LinuxLinux
  • 2.6.36Affected
  • before 2.6.36Not affected
  • 6.1.191 through 6.1.*Not affected
  • 6.6.67 through 6.6.*Not affected
  • 6.12.6 through 6.12.*Not affected
  • 6.13 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.