Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2025-21674— net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于mlx5e_xfrm_add_state和mlx5e_xfrm_del_state函数中对软中断(SOFTIRQ)安全锁的使用不当,导致在启用IPsec隧道模式时出现锁依赖冲突,可能引发系统崩溃。

AI Predicted 6.5 Difficulty: Moderate EPSS 0.18% · P7

Possible ATT&CK Techniques 1 AI

T1190 · Exploit Public-Facing Application

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 4c24272b4e2befca6ad1409c3c9aaa16c24b1099< 87c4417a902151cfe4363166245a3671a08c256c affected
4c24272b4e2befca6ad1409c3c9aaa16c24b1099< 6d3d69c070d920fbb146d73dd3899a50f25d0901 affected
4c24272b4e2befca6ad1409c3c9aaa16c24b1099< 2c3688090f8a1f085230aa839cc63e4a7b977df0 affected
6.4 affected
< 6.4 unaffected
6.6.74≤ 6.6.* unaffected
6.12.11≤ 6.12.* unaffected
6.13≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21674

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel Attempt to enable IPsec packet offload in tunnel mode in debug kernel generates the following kernel panic, which is happening due to two issues: 1. In SA add section, the should be _bh() variant when marking SA mode. 2. There is not needed flush_workqueue in SA delete routine. It is not needed as at this stage as it is removed from SADB and the running work will be canceled later in SA free. ===================================================== WARNING: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected 6.12.0+ #4 Not tainted ----------------------------------------------------- charon/1337 [HC0[0]:SC0[4]:HE1:SE0] is trying to acquire: ffff88810f365020 (&xa->xa_lock#24){+.+.}-{3:3}, at: mlx5e_xfrm_del_state+0xca/0x1e0 [mlx5_core] and this task is already holding: ffff88813e0f0d48 (&x->lock){+.-.}-{3:3}, at: xfrm_state_delete+0x16/0x30 which would create a new lock dependency: (&x->lock){+.-.}-{3:3} -> (&xa->xa_lock#24){+.+.}-{3:3} but this new dependency connects a SOFTIRQ-irq-safe lock: (&x->lock){+.-.}-{3:3} ... which became SOFTIRQ-irq-safe at: lock_acquire+0x1be/0x520 _raw_spin_lock_bh+0x34/0x40 xfrm_timer_handler+0x91/0xd70 __hrtimer_run_queues+0x1dd/0xa60 hrtimer_run_softirq+0x146/0x2e0 handle_softirqs+0x266/0x860 irq_exit_rcu+0x115/0x1a0 sysvec_apic_timer_interrupt+0x6e/0x90 asm_sysvec_apic_timer_interrupt+0x16/0x20 default_idle+0x13/0x20 default_idle_call+0x67/0xa0 do_idle+0x2da/0x320 cpu_startup_entry+0x50/0x60 start_secondary+0x213/0x2a0 common_startup_64+0x129/0x138 to a SOFTIRQ-irq-unsafe lock: (&xa->xa_lock#24){+.+.}-{3:3} ... which became SOFTIRQ-irq-unsafe at: ... lock_acquire+0x1be/0x520 _raw_spin_lock+0x2c/0x40 xa_set_mark+0x70/0x110 mlx5e_xfrm_add_state+0xe48/0x2290 [mlx5_core] xfrm_dev_state_add+0x3bb/0xd70 xfrm_add_sa+0x2451/0x4a90 xfrm_user_rcv_msg+0x493/0x880 netlink_rcv_skb+0x12e/0x380 xfrm_netlink_rcv+0x6d/0x90 netlink_unicast+0x42f/0x740 netlink_sendmsg+0x745/0xbe0 __sock_sendmsg+0xc5/0x190 __sys_sendto+0x1fe/0x2c0 __x64_sys_sendto+0xdc/0x1b0 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x4b/0x53 other info that might help us debug this: Possible interrupt unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&xa->xa_lock#24); local_irq_disable(); lock(&x->lock); lock(&xa->xa_lock#24); <Interrupt> lock(&x->lock); *** DEADLOCK *** 2 locks held by charon/1337: #0: ffffffff87f8f858 (&net->xfrm.xfrm_cfg_mutex){+.+.}-{4:4}, at: xfrm_netlink_rcv+0x5e/0x90 #1: ffff88813e0f0d48 (&x->lock){+.-.}-{3:3}, at: xfrm_state_delete+0x16/0x30 the dependencies between SOFTIRQ-irq-safe lock and the holding lock: -> (&x->lock){+.-.}-{3:3} ops: 29 { HARDIRQ-ON-W at: lock_acquire+0x1be/0x520 _raw_spin_lock_bh+0x34/0x40 xfrm_alloc_spi+0xc0/0xe60 xfrm_alloc_userspi+0x5f6/0xbc0 xfrm_user_rcv_msg+0x493/0x880 netlink_rcv_skb+0x12e/0x380 xfrm_netlink_rcv+0x6d/0x90 netlink_unicast+0x42f/0x740 netlink_sendmsg+0x745/0xbe0 __sock_sendmsg+0xc5/0x190 __sys_sendto+0x1fe/0x2c0 __x64_sys_sendto+0xdc/0x1b0 do_syscall_64+0x6d/0x140 entry_SYSCALL_64_after_hwframe+0x4b/0x53 IN-SOFTIRQ-W at: lock_acquire+0x1be/0x520 _raw_spin_lock_bh+0x34/0x40 xfrm_timer_handler+0x91/0xd70 __hrtimer_run_queues+0x1dd/0xa60 ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于mlx5e_xfrm_add_state和mlx5e_xfrm_del_state函数中对软中断(SOFTIRQ)安全锁的使用不当,导致在启用IPsec隧道模式时出现锁依赖冲突,可能引发系统崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 4c24272b4e2befca6ad1409c3c9aaa16c24b1099 ~ 87c4417a902151cfe4363166245a3671a08c256c -
Linux Linux 6.4 -

II. Public POCs for CVE-2025-21674

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21674

登录查看更多情报信息。

Patches & Fixes for CVE-2025-21674 (3)

Same Patch Batch · Linux · 2025-01-31 · 20 CVEs total

CVE-2025-21673 9.8 CRITICAL smb: client: fix double free of TCP_Server_Info::hostname
CVE-2025-21669 7.8 HIGH vsock/virtio: discard packets if the transport changes
CVE-2025-21680 7.8 HIGH pktgen: Avoid out-of-bounds access in get_imix_entries
CVE-2025-21678 7.8 HIGH gtp: Destroy device along with udp socket's netns dismantle.
CVE-2025-21677 7.8 HIGH pfcp: Destroy device along with udp socket's netns dismantle.
CVE-2025-21676 7.5 HIGH net: fec: handle page_pool_dev_alloc_pages error
CVE-2025-21682 7.3 HIGH eth: bnxt: always recalculate features after XDP clearing, fix null-deref
CVE-2025-21679 btrfs: add the missing error handling inside get_canonical_dev_path
CVE-2025-21675 net/mlx5: Clear port select structure when fail to create
CVE-2025-21681 openvswitch: fix lockup on tx to unregistering netdev with carrier
CVE-2025-21672 afs: Fix merge preference rule failure condition
CVE-2025-21671 zram: fix potential UAF of zram table
CVE-2025-21670 vsock/bpf: return early if transport is not assigned
CVE-2025-21683 bpf: Fix bpf_sk_select_reuseport() memory leak
CVE-2025-21668 pmdomain: imx8mp-blk-ctrl: add missing loop break condition
CVE-2025-21667 iomap: avoid avoid truncating 64-bit offset to 32 bits
CVE-2025-21666 vsock: prevent null-ptr-deref in vsock_*[has_data|has_space]
CVE-2025-21665 filemap: avoid truncating 64-bit offset to 32 bits
CVE-2024-57948 mac802154: check local interfaces before deleting sdata list

IV. Related Vulnerabilities

V. Comments for CVE-2025-21674

No comments yet


Leave a comment