Cloudanix VulnDB

CVE-2025-21791

None

CVSS

—

EPSS

0.3%

Published

Feb 27, 2025

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in the Linux kernel's network handling could let attackers crash systems or gain elevated access, so organizations should install the available operating-system updates as soon as possible.

Exploitation
Local Privilege
Attacker needs
Low Privilege
Complexity
Moderate
Impact
Full Compromise
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Missing RCU read-side protection in l3mdev_l3_out() allows a use-after-free when the function is invoked from the IPv4 output path (raw_sendmsg o ip_push_pending_frames o ip_send_skb o ip_local_out o __ip_local_out) without an RCU read lock held, permitting concurrent VRF device teardown to free data structures still in use.

Why it matters to the business

Linux-based network appliances, servers, and embedded devices face kernel instability or potential local privilege escalation, which can interrupt network services and require emergency patching across large fleets; the issue has been public for over 600 days with no ransomware usage recorded.

How an attack unfolds

An attacker with local access or the ability to trigger packet transmission on a system using VRF devices sends or causes traffic that walks the unprotected l3mdev_l3_out() call chain; a concurrent VRF deletion frees the l3mdev structure while it is still referenced, enabling a classic use-after-free that can be turned into arbitrary read/write or code execution by kernel exploit techniques observed in other Linux kernel campaigns.

How to fix it

Update the Linux kernel to a version containing commit 6ccaa5797f5362a2aad6baa6ddaf4715ac2dd51e (or the equivalent stable backport) which wraps l3mdev_l3_out() with rcu_read_lock()/rcu_read_unlock(); rebuild and reboot all affected systems; where immediate patching is impossible, restrict unprivileged local access and avoid VRF configurations until the fix is applied.

How to confirm the fix worked

Confirm the running kernel contains commit 6ccaa5797f5362a2aad6baa6ddaf4715ac2dd51e via 'uname -r' and kernel source inspection or package changelog; exercise network paths that invoke l3mdev_l3_out() under concurrent VRF add/delete while monitoring for use-after-free warnings in dmesg or KASAN reports.

Typical attack path

  1. Obtain local execution or network-adjacent position on a VRF-enabled Linux host
  2. Trigger packet transmission through the IPv4 output path that reaches l3mdev_l3_out() without RCU held
  3. Race with VRF device deletion to free the structure while it is still referenced
  4. Leverage the resulting dangling pointer for kernel memory corruption or information leak
  5. Escalate to root or persist within the kernel

How to detect it

Review kernel logs (dmesg, /var/log/kern.log) for use-after-free or RCU warnings referencing l3mdev_l3_out or vrf; inspect network packet captures and system-call traces for unusual raw socket or VRF device manipulation around the time of any kernel oops; correlate with process creation events showing privilege-escalation tools commonly used in Linux kernel exploits.

What your security team should do

  • Prioritize kernel updates on all internet-facing and multi-tenant Linux systems within the next maintenance window
  • Inventory VRF usage across the environment and apply the fix first to those hosts
  • Enable kernel hardening features such as KASAN or lockdown mode where performance permits until patches are deployed
  • Monitor vendor advisories for backported fixes in distribution kernels

The record

In the Linux kernel, the following vulnerability has been resolved: vrf: use RCU protection in l3mdev_l3_out() l3mdev_l3_out() can be called without RCU being held: raw_sendmsg() ip_push_pending_frames() ip_send_skb() ip_local_out() __ip_local_out() l3mdev_ip_out() Add rcu_read_lock() / rcu_read_unlock() pair to avoid a potential UAF.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:10 kernel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-64k-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-abi-stablelists 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-cross-headers 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-debug-uki-virt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-doc 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-headers 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-modules-extra-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-64k-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-debug-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-rt-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools-libs 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-tools-libs-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-uki-virt 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-uki-virt-addons 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-devel 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-devel-matched 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules-core 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 kernel-zfcpdump-modules-extra 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 libperf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 perf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 python3-perf 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 rtla 0 6.12.0-124.8.1.el10_1
AlmaLinux:10 rv 0 6.12.0-124.8.1.el10_1
AlmaLinux:9 kernel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-devel-matched 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-debug-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-devel-matched 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-64k-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-abi-stablelists 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-cross-headers 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-devel-matched 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-debug-uki-virt 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-devel-matched 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-doc 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-headers 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-debug-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-64k-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-debug-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-rt-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-tools 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-tools-libs 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-tools-libs-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-uki-virt 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-uki-virt-addons 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-devel 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-devel-matched 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-modules 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-modules-core 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 kernel-zfcpdump-modules-extra 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 libperf 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 perf 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 python3-perf 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 rtla 0 5.14.0-611.5.1.el9_7
AlmaLinux:9 rv 0 5.14.0-611.5.1.el9_7
Debian:11 linux 0 No fix
Debian:11 linux-6.1 0 6.1.129-1~deb11u1
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.16-1
Linux Kernel 4.9.0 5.4.291
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Live Patching 12 SP5 kernel-default 0 4.12.14-122.255.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_60 0 17-2.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_61 0 18-4.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_64 0 11-2.1
SUSE:Linux Enterprise Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_67 0 1-8.5.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_48 0 18-150300.2.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_49 0 17-150300.2.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_51 0 13-150300.2.1
SUSE:Linux Enterprise Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_52 0 12-150300.2.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_33 0 15-150400.2.1
SUSE:Linux Enterprise Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_39 0 7-150400.2.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_10 0 1-150600.1.5.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_9 0 8-150600.2.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_10 0 1-150600.13.5.1
SUSE:Linux Enterprise Micro 5.1 kernel-rt 0 5.3.18-150300.208.1
SUSE:Linux Enterprise Micro 5.1 kernel-source-rt 0 5.3.18-150300.208.1
SUSE:Linux Enterprise Micro 5.2 kernel-rt 0 5.3.18-150300.208.1
SUSE:Linux Enterprise Micro 5.2 kernel-source-rt 0 5.3.18-150300.208.1
SUSE:Linux Enterprise Micro 5.3 kernel-rt 0 5.14.21-150400.15.118.1
SUSE:Linux Enterprise Micro 5.3 kernel-source-rt 0 5.14.21-150400.15.118.1
SUSE:Linux Enterprise Micro 5.4 kernel-rt 0 5.14.21-150400.15.118.1
SUSE:Linux Enterprise Micro 5.4 kernel-source-rt 0 5.14.21-150400.15.118.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.47.2.150600.12.20.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-coco_debug 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-source-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Confidential Computing Technical Preview 15 SP6 kernel-syms-coco 0 6.4.0-15061.21.coco15sp6.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-docs 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.47.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.47.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.34.2
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.34.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-azure 0 6.4.0-150700.20.3.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-source-azure 0 6.4.0-150700.20.3.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP7 kernel-syms-azure 0 6.4.0-150700.20.3.1
SUSE:Linux Enterprise Server 12 SP5-LTSS kernel-default 0 4.12.14-122.255.1

Related vulnerabilities