CVE-2024-40900

cachefiles: remove requests from xarray during flushing requests

State
Published
Severity
7.8 High
Published
Jul 12, 2024
Updated
Aug 5, 2026
Reserved
Jul 12, 2024

Read the record on cve.org

Description

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

cachefiles: remove requests from xarray during flushing requests

Even with CACHEFILES_DEAD set, we can still read the requests, so in the following concurrency the request may be used after it has been freed:

mount | daemon_thread1 | daemon_thread2 ------------------------------------------------------------ cachefiles_ondemand_init_object cachefiles_ondemand_send_req REQ_A = kzalloc(sizeof(*req) + data_len) wait_for_completion(&REQ_A->done) cachefiles_daemon_read cachefiles_ondemand_daemon_read // close dev fd cachefiles_flush_reqs complete(&REQ_A->done) kfree(REQ_A) xa_lock(&cache->reqs); cachefiles_ondemand_select_req req->msg.opcode != CACHEFILES_OP_READ // req use-after-free !!! xa_unlock(&cache->reqs); xa_destroy(&cache->reqs)

Hence remove requests from cache->reqs when flushing them to avoid accessing freed requests.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • c8383054506c77b814489c09877b5db83fd4abf2 to before 9f13aacdd4ee9a7644b2a3c96d67113cd083c9c7Affected
  • c8383054506c77b814489c09877b5db83fd4abf2 to before 50d0e55356ba5b84ffb51c42704126124257e598Affected
  • c8383054506c77b814489c09877b5db83fd4abf2 to before 37e19cf86a520d65de1de9cb330415c332a40d19Affected
  • c8383054506c77b814489c09877b5db83fd4abf2 to before 0fc75c5940fa634d84e64c93bfc388e1274ed013Affected
LinuxLinux
  • 5.19Affected
  • before 5.19Not affected
  • 6.1.95 through 6.1.*Not affected
  • 6.6.35 through 6.6.*Not affected
  • 6.9.6 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.