Skip to main content
← All vulnerabilities
CVE-2025-21887

ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.247, 5.15.179, 6.1.130, 6.4, 6.5, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

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>

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux 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 Linux

    6.5

  • KernelLinux

    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

References 7

git.kernel.org