CVE-2024-42232

libceph: fix race between delayed_work() and ceph_monc_stop()

MEDIUM
5.5
CVSS Score
Published: August 7, 2024 at 03:14 PM UTC
Updated: August 5, 2026 at 12:04 PM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.8%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: libceph: fix race between delayed_work() and ceph_monc_stop() The way the delayed work is handled in ceph_monc_stop() is prone to races with mon_fault() and possibly also finish_hunting(). Both of these can requeue the delayed work which wouldn't be canceled by any of the following code in case that happens after cancel_delayed_work_sync() runs -- __close_session() doesn't mess with the delayed work in order to avoid interfering with the hunting interval logic. This part was missed in commit b5d91704f53e ("libceph: behave in mon_fault() if cur_mon < 0") and use-after-free can still ensue on monc and objects that hang off of it, with monc->auth and monc->monmap being particularly susceptible to quickly being reused. To fix this: - clear monc->cur_mon and monc->hunting as part of closing the session in ceph_monc_stop() - bail from delayed_work() if monc->cur_mon is cleared, similar to how it's done in mon_fault() and finish_hunting() (based on monc->hunting) - call cancel_delayed_work_sync() after the session is closed

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 4.19.3184.20 ≤ v < 5.4.2804.6 ≤ v < 4.19.3184.6 ≤ v < 5.10.2224.6 ≤ v < 5.15.1634.6 ≤ v < 5.4.2804.6 ≤ v < 6.1.1004.6 ≤ v < 6.104.6 ≤ v < 6.6.414.6 ≤ v < 6.9.105.11 ≤ v < 5.15.1635.16 ≤ v < 6.1.1005.5 ≤ v < 5.10.2226.2 ≤ v < 6.6.416.7 ≤ v < 6.9.100e04dc26cc594d31ee6b1382b452b6bc83b579374.6
Vendor states this is fixed in 1177afeca833174ba83504688eec898c6214f4bf (fixed)
Vendor states this is fixed in 20cf67dcb7db842f941eff1af6ee5e9dc41796d7 (fixed)
Vendor states this is fixed in 2d33654d40a05afd91ab24c9a73ab512a0670a9a (fixed)
Vendor states this is fixed in 33d38c5da17f8db2d80e811b7829d2822c10625e (fixed)
Vendor states this is fixed in 34b76d1922e41da1fa73d43b764cddd82ac9733c (fixed)
Vendor states this is fixed in 63e5d035e3a7ab7412a008f202633c5e6a0a28ea (fixed)
Vendor states this is fixed in 69c7b2fe4c9cc1d3b1186d1c5606627ecf0de883 (fixed)
Vendor states this is fixed in 9525af1f58f67df387768770fcf6d6a8f23aee3d (fixed)
Vendor states this is fixed in 4.19.318 (unaffected)
Vendor states this is fixed in 4.6 (unaffected)
Vendor states this is fixed in 5.10.222 (unaffected)
Vendor states this is fixed in 5.15.163 (unaffected)
Vendor states this is fixed in 5.4.280 (unaffected)
Vendor states this is fixed in 6.1.100 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.41 (unaffected)
Vendor states this is fixed in 6.9.10 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1177afeca833174ba83504688eec898c6214f4bf
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/20cf67dcb7db842f941eff1af6ee5e9dc41796d7
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2d33654d40a05afd91ab24c9a73ab512a0670a9a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/33d38c5da17f8db2d80e811b7829d2822c10625e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/34b76d1922e41da1fa73d43b764cddd82ac9733c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/63e5d035e3a7ab7412a008f202633c5e6a0a28ea
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/69c7b2fe4c9cc1d3b1186d1c5606627ecf0de883
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9525af1f58f67df387768770fcf6d6a8f23aee3d

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-416

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card