Skip to main content

CVE-2025-21796: Vulnerability in Linux Linux

High
VulnerabilityCVE-2025-21796cvecve-2025-21796
Published: Thu Feb 27 2025 (02/27/2025, 02:18:32 UTC)
Source: CVE
Vendor/Project: Linux
Product: Linux

Description

In the Linux kernel, the following vulnerability has been resolved: nfsd: clear acl_access/acl_default after releasing them If getting acl_default fails, acl_access and acl_default will be released simultaneously. However, acl_access will still retain a pointer pointing to the released posix_acl, which will trigger a WARNING in nfs3svc_release_getacl like this: ------------[ cut here ]------------ refcount_t: underflow; use-after-free. WARNING: CPU: 26 PID: 3199 at lib/refcount.c:28 refcount_warn_saturate+0xb5/0x170 Modules linked in: CPU: 26 UID: 0 PID: 3199 Comm: nfsd Not tainted 6.12.0-rc6-00079-g04ae226af01f-dirty #8 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.1-2.fc37 04/01/2014 RIP: 0010:refcount_warn_saturate+0xb5/0x170 Code: cc cc 0f b6 1d b3 20 a5 03 80 fb 01 0f 87 65 48 d8 00 83 e3 01 75 e4 48 c7 c7 c0 3b 9b 85 c6 05 97 20 a5 03 01 e8 fb 3e 30 ff <0f> 0b eb cd 0f b6 1d 8a3 RSP: 0018:ffffc90008637cd8 EFLAGS: 00010282 RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffffffff83904fde RDX: dffffc0000000000 RSI: 0000000000000008 RDI: ffff88871ed36380 RBP: ffff888158beeb40 R08: 0000000000000001 R09: fffff520010c6f56 R10: ffffc90008637ab7 R11: 0000000000000001 R12: 0000000000000001 R13: ffff888140e77400 R14: ffff888140e77408 R15: ffffffff858b42c0 FS: 0000000000000000(0000) GS:ffff88871ed00000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000562384d32158 CR3: 000000055cc6a000 CR4: 00000000000006f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: <TASK> ? refcount_warn_saturate+0xb5/0x170 ? __warn+0xa5/0x140 ? refcount_warn_saturate+0xb5/0x170 ? report_bug+0x1b1/0x1e0 ? handle_bug+0x53/0xa0 ? exc_invalid_op+0x17/0x40 ? asm_exc_invalid_op+0x1a/0x20 ? tick_nohz_tick_stopped+0x1e/0x40 ? refcount_warn_saturate+0xb5/0x170 ? refcount_warn_saturate+0xb5/0x170 nfs3svc_release_getacl+0xc9/0xe0 svc_process_common+0x5db/0xb60 ? __pfx_svc_process_common+0x10/0x10 ? __rcu_read_unlock+0x69/0xa0 ? __pfx_nfsd_dispatch+0x10/0x10 ? svc_xprt_received+0xa1/0x120 ? xdr_init_decode+0x11d/0x190 svc_process+0x2a7/0x330 svc_handle_xprt+0x69d/0x940 svc_recv+0x180/0x2d0 nfsd+0x168/0x200 ? __pfx_nfsd+0x10/0x10 kthread+0x1a2/0x1e0 ? kthread+0xf4/0x1e0 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x34/0x60 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30 </TASK> Kernel panic - not syncing: kernel: panic_on_warn set ... Clear acl_access/acl_default after posix_acl_release is called to prevent UAF from being triggered.

AI-Powered Analysis

AILast updated: 07/03/2025, 04:41:05 UTC

Technical Analysis

CVE-2025-21796 is a high-severity use-after-free (UAF) vulnerability in the Linux kernel's NFS daemon (nfsd) subsystem, specifically related to the handling of POSIX Access Control Lists (ACLs). The flaw arises when the kernel attempts to release ACL objects acl_access and acl_default after a failure to retrieve acl_default. In this scenario, both acl_access and acl_default are released simultaneously, but acl_access retains a dangling pointer to the already freed posix_acl structure. This leads to a use-after-free condition that triggers kernel warnings and can cause kernel panics due to refcount underflow, as demonstrated by the detailed kernel stack trace provided. The vulnerability is rooted in improper clearing of pointers after posix_acl_release calls, which allows subsequent kernel code to access freed memory. The impact includes potential kernel crashes (denial of service) and, given the nature of use-after-free bugs, could be leveraged for privilege escalation or arbitrary code execution within the kernel context if exploited. The vulnerability affects multiple Linux kernel versions identified by the commit hash a257cdd0e2179630d3201c32ba14d7fcb3c3a055 and was publicly disclosed on February 27, 2025. The CVSS v3.1 score is 7.8 (high), reflecting local attack vector, low attack complexity, required privileges, no user interaction, and high impact on confidentiality, integrity, and availability. No known exploits are currently reported in the wild, but the vulnerability's nature and severity warrant prompt attention. The root cause is classified under CWE-416 (Use After Free). The fix involves clearing the acl_access and acl_default pointers after releasing the posix_acl to prevent the UAF condition.

Potential Impact

For European organizations, this vulnerability poses significant risks, especially those relying on Linux servers running NFS services for file sharing and storage. The NFS daemon is commonly used in enterprise environments for network file systems, and a kernel panic or crash can lead to service outages, disrupting business operations. More critically, exploitation could allow attackers with local privileges to escalate their rights to root, compromising system confidentiality and integrity. This is particularly concerning for organizations handling sensitive data or critical infrastructure. The vulnerability's requirement for local privileges means that attackers must have some level of access already, but in multi-tenant environments or where insider threats exist, this could be exploited to gain full control. Additionally, the denial of service caused by kernel panics could be leveraged in targeted attacks to disrupt services. Given the widespread use of Linux in European data centers, cloud providers, and governmental agencies, the impact could be broad if not mitigated promptly.

Mitigation Recommendations

European organizations should prioritize applying the official Linux kernel patches that address CVE-2025-21796 as soon as they become available. Until patches are deployed, organizations should: 1) Restrict local access to trusted users only, minimizing the risk of privilege escalation attempts. 2) Monitor kernel logs for warnings related to refcount underflow or use-after-free conditions in nfsd, which may indicate attempted exploitation. 3) Employ kernel hardening techniques such as Kernel Address Space Layout Randomization (KASLR) and Kernel Page Table Isolation (KPTI) to reduce exploitation likelihood. 4) Consider disabling or restricting NFS services on systems where they are not essential, or isolate NFS servers in segmented network zones with strict access controls. 5) Implement robust auditing and intrusion detection to identify suspicious local activities. 6) For environments using containerization or virtualization, ensure that host kernels are patched and that guest systems do not expose unnecessary NFS services. These targeted steps go beyond generic advice by focusing on access control, monitoring, and service minimization specific to the vulnerability context.

Need more detailed analysis?Get Pro

Technical Details

Data Version
5.1
Assigner Short Name
Linux
Date Reserved
2024-12-29T08:45:45.768Z
Cisa Enriched
true
Cvss Version
3.1
State
PUBLISHED

Threat ID: 682d9832c4522896dcbe885e

Added to database: 5/21/2025, 9:09:06 AM

Last enriched: 7/3/2025, 4:41:05 AM

Last updated: 8/11/2025, 11:26:08 AM

Views: 10

Actions

PRO

Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.

Please log in to the Console to use AI analysis features.

Need enhanced features?

Contact root@offseq.com for Pro access with improved analysis and higher rate limits.

Latest Threats