Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fs/mbcache: cancel shrink work before destroying the cache

In the Linux kernel, the following vulnerability has been resolved: fs/mbcache: cancel shrink work before destroying the cache mb_cache_destroy() calls shrinker_free() and then frees all cache entries and the cache itself, but it does not cancel the pending c_shrink_work work item first. If mb_cache_entry_create() schedules c_shrink_work via schedule_work() and the work item is still pending or running when mb_cache_destroy() runs, mb_cache_shrink_worker() will access the cache after its memory has been freed, causing a use-after-free. This is only reachable by a privileged user (root or CAP_SYS_ADMIN) who can trigger the last put of a mounted ext2/ext4/ocfs2 filesystem. Cancel the work item with cancel_work_sync() before calling shrinker_free(), ensuring the worker has finished and will not be rescheduled before the cache is torn down.

Affected products

Linux
  • <0e4eff315d799f5842b95872199b0f0fb8ef5f51
  • =<6.18.*
  • =<7.0.*
  • <4.6
  • =<*
  • <b25fd3523bef88fb7ffd4c5b63bbe9c08f73bb4c
  • =<6.12.*
  • <d227786ab1119669df4dc333a61510c52047cce4
  • ==4.6
  • <a88d39a74a208e197c03bffaa2df34de732af19f