---
id: CVE-2026-53129
title: |-
  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 …
summary: |-
  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 …
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-416
vendor: linux
product: linux_kernel
affected:
  - 'linux_kernel >= 4.6, < 6.12.91'
  - 'linux_kernel >= 6.13, < 6.18.33'
  - 'linux_kernel >= 6.19, < 7.0.10'
patched:
  - linux_kernel 7.0.10
published: '2026-06-24'
updated: '2026-07-06'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53129'
references:
  - url: 'https://git.kernel.org/stable/c/0e4eff315d799f5842b95872199b0f0fb8ef5f51'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/a88d39a74a208e197c03bffaa2df34de732af19f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b25fd3523bef88fb7ffd4c5b63bbe9c08f73bb4c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/d227786ab1119669df4dc333a61510c52047cce4'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.00117
epssPercentile: 0.01883
ingestedAt: '2026-07-06T17:44:51.330Z'
---

## Overview

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

- `linux_kernel >= 4.6, < 6.12.91`
- `linux_kernel >= 6.13, < 6.18.33`
- `linux_kernel >= 6.19, < 7.0.10`

## Remediation

Upgrade past the affected range:

- `linux_kernel 7.0.10`
