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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38209— nvme-tcp: remove tag set when second admin queue config fails

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存在安全漏洞,该漏洞源于未移除标签集导致释放后重用。

CVSS 9.8 · Critical EPSS 0.36% · P28

Possible ATT&CK Techniques 1 AI

T1068 · Exploitation for Privilege Escalation

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux 104d0e2f622233477ef7e57e59e8a4c3bb062c82< db1da838b6012e4570c6f81e28ffe1d0ff595948 affected
104d0e2f622233477ef7e57e59e8a4c3bb062c82< e7143706702a209c814ed2c3fc6486c2a7decf6c affected
6.15 affected
< 6.15 unaffected
6.15.4≤ 6.15.* unaffected
6.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38209

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
nvme-tcp: remove tag set when second admin queue config fails
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: nvme-tcp: remove tag set when second admin queue config fails Commit 104d0e2f6222 ("nvme-fabrics: reset admin connection for secure concatenation") modified nvme_tcp_setup_ctrl() to call nvme_tcp_configure_admin_queue() twice. The first call prepares for DH-CHAP negotitation, and the second call is required for secure concatenation. However, this change triggered BUG KASAN slab-use-after- free in blk_mq_queue_tag_busy_iter(). This BUG can be recreated by repeating the blktests test case nvme/063 a few times [1]. When the BUG happens, nvme_tcp_create_ctrl() fails in the call chain below: nvme_tcp_create_ctrl() nvme_tcp_alloc_ctrl() new=true ... Alloc nvme_tcp_ctrl and admin_tag_set nvme_tcp_setup_ctrl() new=true nvme_tcp_configure_admin_queue() new=true ... Succeed nvme_alloc_admin_tag_set() ... Alloc the tag set for admin_tag_set nvme_stop_keep_alive() nvme_tcp_teardown_admin_queue() remove=false nvme_tcp_configure_admin_queue() new=false nvme_tcp_alloc_admin_queue() ... Fail, but do not call nvme_remove_admin_tag_set() nvme_uninit_ctrl() nvme_put_ctrl() ... Free up the nvme_tcp_ctrl and admin_tag_set The first call of nvme_tcp_configure_admin_queue() succeeds with new=true argument. The second call fails with new=false argument. This second call does not call nvme_remove_admin_tag_set() on failure, due to the new=false argument. Then the admin tag set is not removed. However, nvme_tcp_create_ctrl() assumes that nvme_tcp_setup_ctrl() would call nvme_remove_admin_tag_set(). Then it frees up struct nvme_tcp_ctrl which has admin_tag_set field. Later on, the timeout handler accesses the admin_tag_set field and causes the BUG KASAN slab-use-after-free. To not leave the admin tag set, call nvme_remove_admin_tag_set() when the second nvme_tcp_configure_admin_queue() call fails. Do not return from nvme_tcp_setup_ctrl() on failure. Instead, jump to "destroy_admin" go-to label to call nvme_tcp_teardown_admin_queue() which calls nvme_remove_admin_tag_set().
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
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存在安全漏洞,该漏洞源于未移除标签集导致释放后重用。
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 104d0e2f622233477ef7e57e59e8a4c3bb062c82 ~ db1da838b6012e4570c6f81e28ffe1d0ff595948 -
Linux Linux 6.15 -

II. Public POCs for CVE-2025-38209

# 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-38209

请登录查看更多情报信息。

Same Patch Batch · Linux · 2025-07-04 · 59 CVEs total

CVE-2025-38211 9.8 CRITICAL RDMA/iwcm: Fix use-after-free of work objects after cm_id destruction
CVE-2025-38174 8.8 HIGH thunderbolt: Do not double dequeue a configuration request
CVE-2025-38216 8.8 HIGH iommu/vt-d: Restore context entry setup order for aliased devices
CVE-2025-38212 7.8 HIGH ipc: fix to protect IPCS lookups using RCU
CVE-2025-38184 7.8 HIGH tipc: fix null-ptr-deref when acquiring remote ip of ethernet bearer
CVE-2025-38180 7.8 HIGH net: atm: fix /proc/net/atm/lec handling
CVE-2025-38187 7.8 HIGH drm/nouveau: fix a use-after-free in r535_gsp_rpc_push()
CVE-2025-38193 7.8 HIGH net_sched: sch_sfq: reject invalid perturb period
CVE-2025-38192 7.8 HIGH net: clear the dst when changing skb protocol
CVE-2025-38204 7.8 HIGH jfs: fix array-index-out-of-bounds read in add_missing_indices
CVE-2025-38206 7.8 HIGH exfat: fix double free in delayed_free
CVE-2025-38234 7.8 HIGH sched/rt: Fix race in push_rt_task
CVE-2025-38232 7.8 HIGH NFSD: fix race between nfsd registration and exports_proc
CVE-2025-38175 7.8 HIGH binder: fix yet another UAF in binder_devices
CVE-2025-38218 7.8 HIGH f2fs: fix to do sanity check on sit_bitmap_size
CVE-2025-38224 7.8 HIGH can: kvaser_pciefd: refine error prone echo_skb_max handling logic
CVE-2025-38226 7.8 HIGH media: vivid: Change the siize of the composing
CVE-2025-38227 7.8 HIGH media: vidtv: Terminating the subsequent process of initialization failure
CVE-2025-38230 7.8 HIGH jfs: validate AG parameters in dbMount() to prevent crashes
CVE-2025-38233 7.8 HIGH powerpc64/ftrace: fix clobbered r15 during livepatching

Showing top 20 of 59 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-38209

No comments yet


Leave a comment