{"uuid": "03899d35-1496-4bee-af9a-0f30841436c9", "vulnerability_lookup_origin": "1a89b78e-f703-45f3-bb86-59eb712668bd", "author": "2a075640-a300-48a4-bb44-bc6130783b9b", "vulnerability": "CVE-2025-21999", "type": "seen", "source": "https://t.me/cvedetector/21959", "content": "{\n  \"Source\": \"CVE FEED\",\n  \"Title\": \"CVE-2025-21999 - Apache Linux proc UAF Vulnerability\", \n  \"Content\": \"CVE ID : CVE-2025-21999 \nPublished : April 3, 2025, 8:15 a.m. | 38\u00a0minutes ago \nDescription : In the Linux kernel, the following vulnerability has been resolved:  \n  \nproc: fix UAF in proc_get_inode()  \n  \nFix race between rmmod and /proc/XXX's inode instantiation.  \n  \nThe bug is that pde-&gt;proc_ops don't belong to /proc, it belongs to a  \nmodule, therefore dereferencing it after /proc entry has been registered  \nis a bug unless use_pde/unuse_pde() pair has been used.  \n  \nuse_pde/unuse_pde can be avoided (2 atomic ops!) because pde-&gt;proc_ops  \nnever changes so information necessary for inode instantiation can be  \nsaved _before_ proc_register() in PDE itself and used later, avoiding  \npde-&gt;proc_ops-&gt;...  dereference.  \n  \n      rmmod                         lookup  \nsys_delete_module  \n                         proc_lookup_de  \n      pde_get(de);  \n      proc_get_inode(dir-&gt;i_sb, de);  \n  mod-&gt;exit()  \n    proc_remove  \n      remove_proc_subtree  \n       proc_entry_rundown(de);  \n  free_module(mod);  \n  \n                               if (S_ISREG(inode-&gt;i_mode))  \n                          if (de-&gt;proc_ops-&gt;proc_read_iter)  \n                           --&gt; As module is already freed, will trigger UAF  \n  \nBUG: unable to handle page fault for address: fffffbfff80a702b  \nPGD 817fc4067 P4D 817fc4067 PUD 817fc0067 PMD 102ef4067 PTE 0  \nOops: Oops: 0000 [#1] PREEMPT SMP KASAN PTI  \nCPU: 26 UID: 0 PID: 2667 Comm: ls Tainted: G  \nHardware name: QEMU Standard PC (i440FX + PIIX, 1996)  \nRIP: 0010:proc_get_inode+0x302/0x6e0  \nRSP: 0018:ffff88811c837998 EFLAGS: 00010a06  \nRAX: dffffc0000000000 RBX: ffffffffc0538140 RCX: 0000000000000007  \nRDX: 1ffffffff80a702b RSI: 0000000000000001 RDI: ffffffffc0538158  \nRBP: ffff8881299a6000 R08: 0000000067bbe1e5 R09: 1ffff11023906f20  \nR10: ffffffffb560ca07 R11: ffffffffb2b43a58 R12: ffff888105bb78f0  \nR13: ffff888100518048 R14: ffff8881299a6004 R15: 0000000000000001  \nFS:  00007f95b9686840(0000) GS:ffff8883af100000(0000) knlGS:0000000000000000  \nCS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033  \nCR2: fffffbfff80a702b CR3: 0000000117dd2000 CR4: 00000000000006f0  \nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000  \nDR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400  \nCall Trace:  \n   \n proc_lookup_de+0x11f/0x2e0  \n __lookup_slow+0x188/0x350  \n walk_component+0x2ab/0x4f0  \n path_lookupat+0x120/0x660  \n filename_lookup+0x1ce/0x560  \n vfs_statx+0xac/0x150  \n __do_sys_newstat+0x96/0x110  \n do_syscall_64+0x5f/0x170  \n entry_SYSCALL_64_after_hwframe+0x76/0x7e  \n  \n[adobriyan@gmail.com: don't do 2 atomic ops on the common path] \nSeverity: 0.0 | NA \nVisit the link for more details, such as CVSS details, affected products, timeline, and more...\",\n  \"Detection Date\": \"03 Apr 2025\",\n  \"Type\": \"Vulnerability\"\n}\n\ud83d\udd39 t.me/cvedetector \ud83d\udd39", "creation_timestamp": "2025-04-03T11:03:19.000000Z"}