CVE-2024-47660

fsnotify: clear PARENT_WATCHED flags lazily

MEDIUM
4.7
CVSS Score
Published: October 9, 2024 at 02:02 PM UTC
Updated: October 15, 2026 at 01:18 AM UTC
12 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 TM MFPRUGGEDCOM RST2428P Firmware

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
MEDIUM4.7
Exploit prediction
EPSS 0.2%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: fsnotify: clear PARENT_WATCHED flags lazily In some setups directories can have many (usually negative) dentries. Hence __fsnotify_update_child_dentry_flags() function can take a significant amount of time. Since the bulk of this function happens under inode->i_lock this causes a significant contention on the lock when we remove the watch from the directory as the __fsnotify_update_child_dentry_flags() call from fsnotify_recalc_mask() races with __fsnotify_update_child_dentry_flags() calls from __fsnotify_parent() happening on children. This can lead upto softlockup reports reported by users. Fix the problem by calling fsnotify_update_children_dentry_flags() to set PARENT_WATCHED flags only when parent starts watching children. When parent stops watching children, clear false positive PARENT_WATCHED flags lazily in __fsnotify_parent() for each accessed child.

Affected

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

All versionsv < 5.10.2265.11 ≤ v < 5.15.1675.16 ≤ v < 6.1.1096.2 ≤ v < 6.6.506.7 ≤ v < 6.10.92.6.38873feea09ebc980cbd3631b767356ce1eee65ec1
Vendor states this is fixed in 172e422ffea20a89bfdc672741c1aad6fbb5044e (fixed)
Vendor states this is fixed in 3f3ef1d9f66b93913ce2171120d9226b55acd41d (fixed)
Vendor states this is fixed in 7ef1d2e240c32b1f337a37232d037b07e3919e1a (fixed)
Vendor states this is fixed in d8c42405fc3507cc43ba7e4986a773c3fc633f6e (fixed)
Vendor states this is fixed in f9a48bc3dd9099935751458a5bbbea4b7c28abc8 (fixed)
Vendor states this is fixed in fc1b1e135c3f72382f792e6c319fc088d5523ad5 (fixed)
Vendor states this is fixed in 2.6.38 (unaffected)
Vendor states this is fixed in 5.10.226 (unaffected)
Vendor states this is fixed in 5.15.167 (unaffected)
Vendor states this is fixed in 6.1.109 (unaffected)
Vendor states this is fixed in 6.10.9 (unaffected)
Vendor states this is fixed in 6.11 (unaffected)
Vendor states this is fixed in 6.6.50 (unaffected)
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/172e422ffea20a89bfdc672741c1aad6fbb5044e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/3f3ef1d9f66b93913ce2171120d9226b55acd41d
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/7ef1d2e240c32b1f337a37232d037b07e3919e1a
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d8c42405fc3507cc43ba7e4986a773c3fc633f6e
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f9a48bc3dd9099935751458a5bbbea4b7c28abc8
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fc1b1e135c3f72382f792e6c319fc088d5523ad5
Source: af854a3a-2127-422b-91ae-364da2661108
https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html
Source: 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
https://cert-portal.siemens.com/productcert/html/ssa-265688.html

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
HIGH
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-362

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