Cloudanix VulnDB

CVE-2025-22057

High · 7.8

CVSS

7.8

EPSS

0.2%

Published

Apr 16, 2025

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A bug in the operating system's network data handling can cause computers to crash or allow attackers who already have access to take full control.

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

What it actually does

Use-after-free in Linux kernel dst cache handling: dst_release fails to invalidate cached dst entries when CONFIG_DST_CACHE is enabled with OvS and tunnels, allowing percpu_counter_add_batch to access already-freed memory during netns dismantle or dst_destroy_rcu.

Why it matters to the business

Kernel crashes or memory corruption on systems running OvS with tunnels can cause service outages, require emergency reboots, and open paths for local privilege escalation; widespread in Linux-based infrastructure and cloud environments.

How an attack unfolds

An attacker with local access triggers repeated dst allocation and release paths through OvS tunnel traffic or network namespace teardown, racing the incomplete counter decrement to hit the freed percpu counter and achieve arbitrary read/write or denial of service.

How to fix it

Update the Linux kernel to commit ccc331fd5bcae131d2627d5ef099d4a1f6540aea or later; for affected Red Hat packages apply tigervnc updates to version 1.12.0-15.el8_8.11 or newer; rebuild and reboot systems using OvS tunnels; disable CONFIG_DST_CACHE where operationally feasible as a temporary mitigation.

How to confirm the fix worked

Verify kernel version contains commit ccc331fd5bcae131d2627d5ef099d4a1f6540aea; confirm no crash on dst_release under CONFIG_DST_CACHE with OvS tunnels; run regression tests exercising dst_cache_destroy during namespace teardown.

Typical attack path

  1. Obtain local unprivileged access on a Linux host using OvS with tunnels
  2. Force dst cache population via crafted network flows or namespace operations
  3. Trigger concurrent dst_release and dst_cache_destroy during netns dismantle
  4. Access freed percpu counter structure to corrupt kernel memory
  5. Escalate to root or crash the kernel

How to detect it

Search kernel logs for percpu_counter_add_batch call traces during dst_release or dst_cache_destroy; inspect for repeated netns dismantle events coinciding with crashes; review audit logs for unusual OvS tunnel or namespace activity preceding kernel faults.

What your security team should do

  • Prioritize kernel updates on all hosts using OvS or tunnels within 30 days
  • Monitor for kernel oops involving percpu_counter_add_batch and dst_release
  • Restrict unprivileged namespace creation until patched
  • Test patches in staging environments before broad rollout

The record

In the Linux kernel, the following vulnerability has been resolved: net: decrease cached dst counters in dst_release Upstream fix ac888d58869b ("net: do not delay dst_entries_add() in dst_release()") moved decrementing the dst count from dst_destroy to dst_release to avoid accessing already freed data in case of netns dismantle. However in case CONFIG_DST_CACHE is enabled and OvS+tunnels are used, this fix is incomplete as the same issue will be seen for cached dsts: Unable to handle kernel paging request at virtual address ffff5aabf6b5c000 Call trace: percpu_counter_add_batch+0x3c/0x160 (P) dst_release+0xec/0x108 dst_cache_destroy+0x68/0xd8 dst_destroy+0x13c/0x168 dst_destroy_rcu+0x1c/0xb0 rcu_do_batch+0x18c/0x7d0 rcu_core+0x174/0x378 rcu_core_si+0x18/0x30 Fix this by invalidating the cache, and thus decrementing cached dst counters, in dst_release too.

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 linux 0 No fix
Debian:12 linux 0 No fix
Debian:13 linux 0 No fix
Debian:13 linux 0 6.12.25-1
Linux Kernel 4.6.0 6.6.87
Mageia:9 kernel 0 6.6.88-3.mga9
Mageia:9 kernel-linus 0 6.6.88-1.mga9
Mageia:9 kmod-virtualbox 0 7.0.24-70.mga9
Mageia:9 kmod-xtables-addons 0 3.24-78.mga9
SUSE:Linux Enterprise High Availability Extension 15 SP6 kernel-default 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise High Availability Extension 15 SP7 kernel-default 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-default 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6-RT_Update_11 0 1-150600.1.3.2
SUSE:Linux Enterprise Live Patching 15 SP6 kernel-livepatch-SLE15-SP6_Update_12 0 1-150600.13.3.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-default 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Live Patching 15 SP7 kernel-livepatch-SLE15-SP7_Update_1 0 1-150700.15.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-64kb 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-default-base 0 6.4.0-150600.23.53.1.150600.12.24.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-source 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 kernel-zfcpdump 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-64kb 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-default-base 0 6.4.0-150700.53.3.1.150700.17.2.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-source 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Basesystem 15 SP7 kernel-zfcpdump 0 6.4.0-150700.53.3.1
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.53.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-obs-build 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-source 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Development Tools 15 SP6 kernel-syms 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-docs 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-obs-build 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-source 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Development Tools 15 SP7 kernel-syms 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Legacy 15 SP6 kernel-default 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Module for Legacy 15 SP7 kernel-default 0 6.4.0-150700.53.3.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-azure 0 6.4.0-150600.8.40.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure 0 6.4.0-150600.8.40.1
SUSE:Linux Enterprise Module for Public Cloud 15 SP6 kernel-syms-azure 0 6.4.0-150600.8.40.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 Workstation Extension 15 SP6 kernel-default 0 6.4.0-150600.23.53.1
SUSE:Linux Enterprise Workstation Extension 15 SP7 kernel-default 0 6.4.0-150700.53.3.1
SUSE:Real Time Module 15 SP6 kernel-rt 0 6.4.0-150600.10.39.1
SUSE:Real Time Module 15 SP6 kernel-rt_debug 0 6.4.0-150600.10.39.1
SUSE:Real Time Module 15 SP6 kernel-source-rt 0 6.4.0-150600.10.39.1
SUSE:Real Time Module 15 SP6 kernel-syms-rt 0 6.4.0-150600.10.39.1
openSUSE:Leap 15.6 dtb-aarch64 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-64kb 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-azure 0 6.4.0-150600.8.40.1
openSUSE:Leap 15.6 kernel-debug 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-default 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-default-base 0 6.4.0-150600.23.53.1.150600.12.24.1
openSUSE:Leap 15.6 kernel-docs 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-kvmsmall 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-obs-build 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-obs-qa 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-rt 0 6.4.0-150600.10.39.1
openSUSE:Leap 15.6 kernel-rt_debug 0 6.4.0-150600.10.39.1
openSUSE:Leap 15.6 kernel-source 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-source-azure 0 6.4.0-150600.8.40.1
openSUSE:Leap 15.6 kernel-source-rt 0 6.4.0-150600.10.39.1
openSUSE:Leap 15.6 kernel-syms 0 6.4.0-150600.23.53.1
openSUSE:Leap 15.6 kernel-syms-azure 0 6.4.0-150600.8.40.1
openSUSE:Leap 15.6 kernel-syms-rt 0 6.4.0-150600.10.39.1
openSUSE:Leap 15.6 kernel-zfcpdump 0 6.4.0-150600.23.53.1

Related vulnerabilities