{"id":"CVE-2025-39877","state":"PUBLISHED","title":"mm/damon/sysfs: fix use-after-free in state_show()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/damon/sysfs: fix use-after-free in state_show()\n\nstate_show() reads kdamond->damon_ctx without holding damon_sysfs_lock. \nThis allows a use-after-free race:\n\nCPU 0                         CPU 1\n-----                         -----\nstate_show()                  damon_sysfs_turn_damon_on()\nctx = kdamond->damon_ctx;     mutex_lock(&damon_sysfs_lock);\n                              damon_destroy_ctx(kdamond->damon_ctx);\n                              kdamond->damon_ctx = NULL;\n                              mutex_unlock(&damon_sysfs_lock);\ndamon_is_running(ctx);        /* ctx is freed */\nmutex_lock(&ctx->kdamond_lock); /* UAF */\n\n(The race can also occur with damon_sysfs_kdamonds_rm_dirs() and\ndamon_sysfs_kdamond_release(), which free or replace the context under\ndamon_sysfs_lock.)\n\nFix by taking damon_sysfs_lock before dereferencing the context, mirroring\nthe locking used in pid_show().\n\nThe bug has existed since state_show() first accessed kdamond->damon_ctx.","publishedAt":"2025-09-23T06:00:48.317Z","updatedAt":"2026-05-11T21:38:09.382Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"3858c44341ad49dc7544b19cc9f9ecffaa7cc50e","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"60d7a3d2b985a395318faa1d88da6915fad11c19","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"26d29b2ac87a2989071755f9828ebf839b560d4c","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"4e87f461d61959647464a94d11ae15c011be58ce","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"3260a3f0828e06f5f13fac69fb1999a6d60d9cff","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/damon/sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"6.1.153","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.107","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.48","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.16.8","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/damon/sysfs.c"]}],"references":["https://git.kernel.org/stable/c/3858c44341ad49dc7544b19cc9f9ecffaa7cc50e","https://git.kernel.org/stable/c/60d7a3d2b985a395318faa1d88da6915fad11c19","https://git.kernel.org/stable/c/26d29b2ac87a2989071755f9828ebf839b560d4c","https://git.kernel.org/stable/c/4e87f461d61959647464a94d11ae15c011be58ce","https://git.kernel.org/stable/c/3260a3f0828e06f5f13fac69fb1999a6d60d9cff","https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:09:09.358Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/39xxx/CVE-2025-39877.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-39877","state":"PUBLISHED","datePublished":"2025-09-23T06:00:48.317Z","dateUpdated":"2026-05-11T21:38:09.382Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-04-16T07:20:57.144Z"},"containers":{"cna":{"title":"mm/damon/sysfs: fix use-after-free in state_show()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/damon/sysfs: fix use-after-free in state_show()\n\nstate_show() reads kdamond->damon_ctx without holding damon_sysfs_lock. \nThis allows a use-after-free race:\n\nCPU 0                         CPU 1\n-----                         -----\nstate_show()                  damon_sysfs_turn_damon_on()\nctx = kdamond->damon_ctx;     mutex_lock(&damon_sysfs_lock);\n                              damon_destroy_ctx(kdamond->damon_ctx);\n                              kdamond->damon_ctx = NULL;\n                              mutex_unlock(&damon_sysfs_lock);\ndamon_is_running(ctx);        /* ctx is freed */\nmutex_lock(&ctx->kdamond_lock); /* UAF */\n\n(The race can also occur with damon_sysfs_kdamonds_rm_dirs() and\ndamon_sysfs_kdamond_release(), which free or replace the context under\ndamon_sysfs_lock.)\n\nFix by taking damon_sysfs_lock before dereferencing the context, mirroring\nthe locking used in pid_show().\n\nThe bug has existed since state_show() first accessed kdamond->damon_ctx."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"3858c44341ad49dc7544b19cc9f9ecffaa7cc50e","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"60d7a3d2b985a395318faa1d88da6915fad11c19","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"26d29b2ac87a2989071755f9828ebf839b560d4c","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"4e87f461d61959647464a94d11ae15c011be58ce","versionType":"git"},{"version":"a61ea561c87139992fe32afdee48a6f6b85d824a","status":"affected","lessThan":"3260a3f0828e06f5f13fac69fb1999a6d60d9cff","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/damon/sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","versionType":"semver"},{"version":"6.1.153","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.107","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.48","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.16.8","status":"unaffected","lessThanOrEqual":"6.16.*","versionType":"semver"},{"version":"6.17","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/damon/sysfs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/3858c44341ad49dc7544b19cc9f9ecffaa7cc50e"},{"url":"https://git.kernel.org/stable/c/60d7a3d2b985a395318faa1d88da6915fad11c19"},{"url":"https://git.kernel.org/stable/c/26d29b2ac87a2989071755f9828ebf839b560d4c"},{"url":"https://git.kernel.org/stable/c/4e87f461d61959647464a94d11ae15c011be58ce"},{"url":"https://git.kernel.org/stable/c/3260a3f0828e06f5f13fac69fb1999a6d60d9cff"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:38:09.382Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.1.153"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.6.107"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.12.48"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.16.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.17"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T17:44:22.015Z"}}]}}}