CVE-2026-23012

Source
https://cve.org/CVERecord?id=CVE-2026-23012
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23012.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-23012
Downstream
Published
2026-01-25T14:36:25.187Z
Modified
2026-04-02T13:11:45.368656Z
Summary
mm/damon/core: remove call_control in inactive contexts
Details

In the Linux kernel, the following vulnerability has been resolved:

mm/damon/core: remove call_control in inactive contexts

If damoncall() is executed against a DAMON context that is not running, the function returns error while keeping the damoncallcontrol object linked to the context's callcontrols list. Let's suppose the object is deallocated after the damoncall(), and yet another damoncall() is executed against the same context. The function tries to add the new damoncallcontrol object to the callcontrols list, which still has the pointer to the previous damoncall_control object, which is deallocated. As a result, use-after-free happens.

This can actually be triggered using the DAMON sysfs interface. It is not easily exploitable since it requires the sysfs write permission and making a definitely weird file writes, though. Please refer to the report for more details about the issue reproduction steps.

Fix the issue by making two changes. Firstly, move the final kdamondcall() for cancelling all existing damoncall() requests from terminating DAMON context to be done before the ctx->kdamond reset. This makes any code that sees NULL ctx->kdamond can safely assume the context may not access damoncall() requests anymore. Secondly, let damoncall() to cleanup the damoncallcontrol objects that were added to the already-terminated DAMON context, before returning the error.

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/23xxx/CVE-2026-23012.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
004ded6bee11b8ed463cdc54b89a4390f4b64f6d
Fixed
23b061f421eef03647b512f3df48861706c87db3
Fixed
f9132fbc2e83baf2c45a77043672a63a675c9394

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23012.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
6.17.0
Fixed
6.18.7

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-23012.json"