quota: Fix race of dquot_scan_active() with quota deactivation (Linux Linux)

CVE-2026-53050
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.10 % · percentile 1 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

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.

Weaknesses (CWE)

  • CWE-362 — Concurrent Execution using Shared Resource with Improper Synchronization

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 22c06bf1f99ec3ec16b1a81342becba4c59a1f16 < 2bdc80f4619411e5bd4a3ef23f51e14021ed457c ; affected 56e96b38d2f7cd95b3c30eb70decac7233915e0a < f9438cb8c8ec3adc84b2b450a3aab0123d074c3b ; affected 12a820a9923c11e8e898da9f82c8aded70cdcd16 < ac8a2e0d287ebf35e5d7e51e260b4e146648ba4a ; affected 869b6ea1609f655a43251bf41757aa44e5350a8f < 6678dde265708003c2b42551af4a2e3cb05decd5 ; affected 869b6ea1609f655a43251bf41757aa44e5350a8f < 61e25f664dc2a08299e07d84c85776abc2350f75 ; affected 869b6ea1609f655a43251bf41757aa44e5350a8f < fdd424d7c35633ac577fd87d1b043d1b8a6cd350
Linux · Linuxaffected 6.6 ; unaffected 0 < 6.6 ; unaffected 5.10.258 ≤ 5.10.* ; unaffected 5.15.209 ≤ 5.15.* ; unaffected 6.1.175 ≤ 6.1.* ; unaffected 6.6.141 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD