CVE-2025-21887
ovl: fix UAF in ovl_dentry_update_reval by moving dput() in ovl_link_up
Severity Score
Exploit Likelihood
Affected Versions
Public Exploits
0Exploited in Wild
-Decision
Descriptions
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>
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>
Several security issues were fixed in the Linux kernel. These include an overflow check in mi_enum_attr(), a netfilter issue, a use-after-free related to SMB clients, and more.
CVSS Scores
SSVC
- Decision:Track*
Timeline
- 2024-12-29 CVE Reserved
- 2025-03-27 CVE Published
- 2025-12-06 CVE Updated
- 2026-01-21 EPSS Updated
- ---------- Exploited in Wild
- ---------- KEV Due Date
- ---------- First Exploit
CWE
- CWE-416: Use After Free
CAPEC
References (15)
| URL | Tag | Source |
|---|---|---|
| https://git.kernel.org/stable/c/714ba10a6dd19752a349e59aa875f3288ccb59b9 | Vuln. Introduced | |
| https://git.kernel.org/stable/c/62f29ca45f832e281fc14966ac25f6ff3bd121ca | Vuln. Introduced | |
| https://git.kernel.org/stable/c/e4f2a1feebb3f209a0fca82aa53507a5b8be4d53 | Vuln. Introduced | |
| https://git.kernel.org/stable/c/b07d5cc93e1b28df47a72c519d09d0a836043613 | Vuln. Introduced | |
| https://git.kernel.org/stable/c/33ab4dd6202f359558a0a2678b94d1b9994c17e5 | Vuln. Introduced | |
| https://git.kernel.org/stable/c/1ecdc55e5cd9f70f8d7513802971d4cffb9f77af | Vuln. Introduced |
| URL | Date | SRC |
|---|
| URL | Date | SRC |
|---|---|---|
| https://access.redhat.com/security/cve/CVE-2025-21887 | 2025-06-16 | |
| https://bugzilla.redhat.com/show_bug.cgi?id=2355405 | 2025-06-16 |
Affected Vendors, Products, and Versions
| Vendor | Product | Version | Other | Status | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Vendor | Product | Version | Other | Status | <-- --> | Vendor | Product | Version | Other | Status |
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 5.10.188 < 5.10.247 Search vendor "Linux" for product "Linux Kernel" and version " >= 5.10.188 < 5.10.247" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 5.15.121 < 5.15.179 Search vendor "Linux" for product "Linux Kernel" and version " >= 5.15.121 < 5.15.179" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 6.1.39 < 6.1.130 Search vendor "Linux" for product "Linux Kernel" and version " >= 6.1.39 < 6.1.130" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 6.5 < 6.6.81 Search vendor "Linux" for product "Linux Kernel" and version " >= 6.5 < 6.6.81" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 6.5 < 6.12.18 Search vendor "Linux" for product "Linux Kernel" and version " >= 6.5 < 6.12.18" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 6.5 < 6.13.6 Search vendor "Linux" for product "Linux Kernel" and version " >= 6.5 < 6.13.6" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | >= 6.5 < 6.14 Search vendor "Linux" for product "Linux Kernel" and version " >= 6.5 < 6.14" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | 6.3.13 Search vendor "Linux" for product "Linux Kernel" and version "6.3.13" | en |
Affected
| ||||||
| Linux Search vendor "Linux" | Linux Kernel Search vendor "Linux" for product "Linux Kernel" | 6.4.4 Search vendor "Linux" for product "Linux Kernel" and version "6.4.4" | en |
Affected
| ||||||
