CVE-2025-21887

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

State
Published
Severity
7.8 High
Published
Mar 27, 2025
Updated
Oct 15, 2026
Reserved
Dec 29, 2024

Read the record on cve.org

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>

Scores

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

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • 714ba10a6dd19752a349e59aa875f3288ccb59b9 to before f77618291836168eca99e89cd175256f928f5e64Affected
  • 62f29ca45f832e281fc14966ac25f6ff3bd121ca to before 4b49d939b5a79117f939b77cc67efae2694d9799Affected
  • e4f2a1feebb3f209a0fca82aa53507a5b8be4d53 to before a7c41830ffcd17b2177a95a9b99b270302090c35Affected
  • b07d5cc93e1b28df47a72c519d09d0a836043613 to before 64455c8051c3aedc71abb7ec8d47c80301f99f00Affected
  • b07d5cc93e1b28df47a72c519d09d0a836043613 to before 3594aad97e7be2557ca9fa9c931b206b604028c8Affected
  • b07d5cc93e1b28df47a72c519d09d0a836043613 to before 60b4b5c1277fc491da9e1e7abab307bfa39c2db7Affected
  • b07d5cc93e1b28df47a72c519d09d0a836043613 to before c84e125fff2615b4d9c259e762596134eddd2f27Affected
  • 33ab4dd6202f359558a0a2678b94d1b9994c17e5Affected
  • 1ecdc55e5cd9f70f8d7513802971d4cffb9f77afAffected
  • 5.10.188 to before 5.10.247Affected
  • 5.15.121 to before 5.15.179Affected
  • 6.1.39 to before 6.1.130Affected
  • 6.3.13 to before 6.4Affected
  • 6.4.4 to before 6.5Affected
LinuxLinux
  • 6.5Affected
  • before 6.5Not affected
  • 5.10.247 through 5.10.*Not affected
  • 5.15.179 through 5.15.*Not affected
  • 6.1.130 through 6.1.*Not affected
  • 6.6.81 through 6.6.*Not affected
  • 6.12.18 through 6.12.*Not affected
  • 6.13.6 through 6.13.*Not affected
  • 6.14 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.