CVE-2026-53050

quota: Fix race of dquot_scan_active() with quota deactivation

HIGH
7.8
CVSS Score
Published: June 24, 2026 at 04:29 PM UTC
Updated: October 15, 2026 at 02:20 AM UTC
4 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 CPU 1518-4 Pn /dp MFP FirmwareSiplus S7-1500 CPU 1518-4 Pn /dp MFP 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
HIGH7.8
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: quota: Fix race of dquot_scan_active() with quota deactivation dquot_scan_active() can race with quota deactivation in quota_release_workfn() like: CPU0 (quota_release_workfn) CPU1 (dquot_scan_active) ============================== ============================== spin_lock(&dq_list_lock); list_replace_init( &releasing_dquots, &rls_head); /* dquot X on rls_head, dq_count == 0, DQ_ACTIVE_B still set */ spin_unlock(&dq_list_lock); synchronize_srcu(&dquot_srcu); spin_lock(&dq_list_lock); list_for_each_entry(dquot, &inuse_list, dq_inuse) { /* finds dquot X */ dquot_active(X) -> true atomic_inc(&X->dq_count); } spin_unlock(&dq_list_lock); spin_lock(&dq_list_lock); dquot = list_first_entry(&rls_head); WARN_ON_ONCE(atomic_read(&dquot->dq_count)); The problem is not only a cosmetic one as under memory pressure the caller of dquot_scan_active() can end up working on freed dquot. Fix the problem by making sure the dquot is removed from releasing list when we acquire a reference to it.

Affected

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

4.19.297 ≤ v < 4.205.10.199 ≤ v < 5.10.2585.15.136 ≤ v < 5.15.2095.4.259 ≤ v < 5.56.1.59 ≤ v < 6.1.1756.13 ≤ v < 6.18.336.19 ≤ v < 7.0.106.5.8 ≤ v < 6.66.6.1 ≤ v < 6.6.1416.7 ≤ v < 6.12.9112a820a9923c11e8e898da9f82c8aded70cdcd1622c06bf1f99ec3ec16b1a81342becba4c59a1f162a1ddddba6541143c8f73962f3021f17891142844.19.2975.10.1995.15.1365.4.25956e96b38d2f7cd95b3c30eb70decac7233915e0a6.1.596.5.86.66.6 rc66.6 rc761a18239ced5eb86967a2b4451cb1cc5ce702869b6ea1609f655a43251bf41757aa44e5350a8fbb7e3a019b52d829949d02b64ebab37838148fbf
Vendor states this is fixed in 2bdc80f4619411e5bd4a3ef23f51e14021ed457c (fixed)
Vendor states this is fixed in 61e25f664dc2a08299e07d84c85776abc2350f75 (fixed)
Vendor states this is fixed in 6678dde265708003c2b42551af4a2e3cb05decd5 (fixed)
Vendor states this is fixed in 82cbdb4c1ebb5ea7d7bd45c18d3483b5bd32ebc1 (fixed)
Vendor states this is fixed in ac8a2e0d287ebf35e5d7e51e260b4e146648ba4a (fixed)
Vendor states this is fixed in e93ab401da4b2e2c1b8ef2424de2f238d51c8b2d (fixed)
Vendor states this is fixed in f9438cb8c8ec3adc84b2b450a3aab0123d074c3b (fixed)
Vendor states this is fixed in fdd424d7c35633ac577fd87d1b043d1b8a6cd350 (fixed)
Affected range stops below 4.20, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 5.10.258 (unaffected)
Vendor states this is fixed in 5.15.209 (unaffected)
Affected range stops below 5.5, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 6.1.175 (unaffected)
Vendor states this is fixed in 6.12.91 (unaffected)
Vendor states this is fixed in 6.18.33 (unaffected)
Vendor states this is fixed in 6.6 (unaffected)
Vendor states this is fixed in 6.6.141 (unaffected)
Vendor states this is fixed in 7.0.10 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

7.8HIGHLinux
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