CVE-2026-46121

mm/damon/sysfs-schemes: protect memcg_path kfree() with damon_sysfs_lock

HIGH
7.8
CVSS Score
Published: May 28, 2026 at 09:35 AM UTC
Updated: June 27, 2026 at 11:41 AM 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
HIGH7.8
Exploit prediction
EPSS 0.1%

Description

In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs-schemes: protect memcg_path kfree() with damon_sysfs_lock Patch series "mm/damon/sysfs-schemes: fix use-after-free for [memcg_]path". Reads of 'memcg_path' and 'path' files in DAMON sysfs interface could race with their writes, results in use-after-free. Fix those. This patch (of 2): damon_sysfs_scheme_filter->mmecg_path can be read and written by users, via DAMON sysfs memcg_path file. It can also be indirectly read, for the parameters {on,off}line committing to DAMON. The reads for parameters committing are protected by damon_sysfs_lock to avoid the sysfs files being destroyed while any of the parameters are being read. But the user-driven direct reads and writes are not protected by any lock, while the write is deallocating the memcg_path-pointing buffer. As a result, the readers could read the already freed buffer (user-after-free). Note that the user-reads don't race when the same open file is used by the writer, due to kernfs's open file locking. Nonetheless, doing the reads and writes with separate open files would be common. Fix it by protecting both the user-direct reads and writes with damon_sysfs_lock.

Affected

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

v ≥ 6.15.56.12.36 ≤ v < 6.12.886.15.5 ≤ v < 6.166.16 ≤ v < 6.18.306.16 ≤ v < 7.0.76.16 ≤ v < 7.16.16.1 ≤ v < 6.18.306.19 ≤ v < 7.0.76.6.96 ≤ v < 6.6.140490a43d07f1663d827e802720d30cbc0494e4f814a158ac0538dd5695eeaa00aa0720d711f3e4ef14f489fe6afb395dbc79840efa3c05440b760d8836.12.366.15.56.166.16 rc46.16 rc56.16 rc66.16 rc76.6.967.1 rc1c5d5b0047b0c0f304608f3824139f7bd34c48413
Vendor states this is fixed in 1e68eb96e8beb1abefd12dd22c5637795d8a877e (fixed)
Vendor states this is fixed in b1e9f2d5870776347edef927f9bb3ea19b8e3abb (fixed)
Vendor states this is fixed in baecc45ad60e621ef14d6c1e7f41ef36bbfdf910 (fixed)
Vendor states this is fixed in c88802d0e8edd14b6cd2daf3000f99adbc4c85c5 (fixed)
Vendor states this is fixed in eafd6f5372d29b0dd213799b92c2c9c7ad31d7da (fixed)
Vendor states this is fixed in 6.12.88 (unaffected)
Vendor states this is fixed in 6.16 (unaffected)
Vendor states this is fixed in 6.18.30 (unaffected)
Vendor states this is fixed in 6.6.140 (unaffected)
Vendor states this is fixed in 7.0.7 (unaffected)
Vendor states this is fixed in 7.1 (unaffected)

CVSS

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

Quick Info

StatusUNDERGOING ANALYSIS
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