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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38734— net/smc: fix UAF on smcsk after smc_listen_out()

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存在安全漏洞,该漏洞源于net/smc中smc_listen_out后smcsk的释放后重用。

CVSS 9.8 · Critical EPSS 0.46% · P39

Affected Version Matrix 10

VendorProduct Version RangeStatus
Linux Linux 3b2dec2603d5b06ad3af71c1164ca0b92df3d2a8< 070b4af44c4b6e4c35fb1ca7001a6a88fd2d318f affected
3b2dec2603d5b06ad3af71c1164ca0b92df3d2a8< 2e765ba0ee0eae35688b443e97108308a716773e affected
3b2dec2603d5b06ad3af71c1164ca0b92df3d2a8< 85545f1525f9fa9bf44fec77ba011024f15da342 affected
3b2dec2603d5b06ad3af71c1164ca0b92df3d2a8< d9cef55ed49117bd63695446fb84b4b91815c0b4 affected
4.18 affected
< 4.18 unaffected
6.6.103≤ 6.6.* unaffected
6.12.44≤ 6.12.* unaffected
… +2 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38734

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/smc: fix UAF on smcsk after smc_listen_out()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net/smc: fix UAF on smcsk after smc_listen_out() BPF CI testing report a UAF issue: [ 16.446633] BUG: kernel NULL pointer dereference, address: 000000000000003 0 [ 16.447134] #PF: supervisor read access in kernel mod e [ 16.447516] #PF: error_code(0x0000) - not-present pag e [ 16.447878] PGD 0 P4D 0 [ 16.448063] Oops: Oops: 0000 [#1] PREEMPT SMP NOPT I [ 16.448409] CPU: 0 UID: 0 PID: 9 Comm: kworker/0:1 Tainted: G OE 6.13.0-rc3-g89e8a75fda73-dirty #4 2 [ 16.449124] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODUL E [ 16.449502] Hardware name: QEMU Ubuntu 24.04 PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/201 4 [ 16.450201] Workqueue: smc_hs_wq smc_listen_wor k [ 16.450531] RIP: 0010:smc_listen_work+0xc02/0x159 0 [ 16.452158] RSP: 0018:ffffb5ab40053d98 EFLAGS: 0001024 6 [ 16.452526] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 000000000000030 0 [ 16.452994] RDX: 0000000000000280 RSI: 00003513840053f0 RDI: 000000000000000 0 [ 16.453492] RBP: ffffa097808e3800 R08: ffffa09782dba1e0 R09: 000000000000000 5 [ 16.453987] R10: 0000000000000000 R11: 0000000000000000 R12: ffffa0978274640 0 [ 16.454497] R13: 0000000000000000 R14: 0000000000000000 R15: ffffa09782d4092 0 [ 16.454996] FS: 0000000000000000(0000) GS:ffffa097bbc00000(0000) knlGS:000000000000000 0 [ 16.455557] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003 3 [ 16.455961] CR2: 0000000000000030 CR3: 0000000102788004 CR4: 0000000000770ef 0 [ 16.456459] PKRU: 5555555 4 [ 16.456654] Call Trace : [ 16.456832] <TASK > [ 16.456989] ? __die+0x23/0x7 0 [ 16.457215] ? page_fault_oops+0x180/0x4c 0 [ 16.457508] ? __lock_acquire+0x3e6/0x249 0 [ 16.457801] ? exc_page_fault+0x68/0x20 0 [ 16.458080] ? asm_exc_page_fault+0x26/0x3 0 [ 16.458389] ? smc_listen_work+0xc02/0x159 0 [ 16.458689] ? smc_listen_work+0xc02/0x159 0 [ 16.458987] ? lock_is_held_type+0x8f/0x10 0 [ 16.459284] process_one_work+0x1ea/0x6d 0 [ 16.459570] worker_thread+0x1c3/0x38 0 [ 16.459839] ? __pfx_worker_thread+0x10/0x1 0 [ 16.460144] kthread+0xe0/0x11 0 [ 16.460372] ? __pfx_kthread+0x10/0x1 0 [ 16.460640] ret_from_fork+0x31/0x5 0 [ 16.460896] ? __pfx_kthread+0x10/0x1 0 [ 16.461166] ret_from_fork_asm+0x1a/0x3 0 [ 16.461453] </TASK > [ 16.461616] Modules linked in: bpf_testmod(OE) [last unloaded: bpf_testmod(OE) ] [ 16.462134] CR2: 000000000000003 0 [ 16.462380] ---[ end trace 0000000000000000 ]--- [ 16.462710] RIP: 0010:smc_listen_work+0xc02/0x1590 The direct cause of this issue is that after smc_listen_out_connected(), newclcsock->sk may be NULL since it will releases the smcsk. Therefore, if the application closes the socket immediately after accept, newclcsock->sk can be NULL. A possible execution order could be as follows: smc_listen_work | userspace ----------------------------------------------------------------- lock_sock(sk) | smc_listen_out_connected() | | \- smc_listen_out | | | \- release_sock | | |- sk->sk_data_ready() | | fd = accept(); | close(fd); | \- socket->sk = NULL; /* newclcsock->sk is NULL now */ SMC_STAT_SERV_SUCC_INC(sock_net(newclcsock->sk)) Since smc_listen_out_connected() will not fail, simply swapping the order of the code can easily fix this issue.
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存在安全漏洞,该漏洞源于net/smc中smc_listen_out后smcsk的释放后重用。
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 3b2dec2603d5b06ad3af71c1164ca0b92df3d2a8 ~ 070b4af44c4b6e4c35fb1ca7001a6a88fd2d318f -
Linux Linux 4.18 -

II. Public POCs for CVE-2025-38734

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

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

Same Patch Batch · Linux · 2025-09-05 · 60 CVEs total

CVE-2025-39726 9.8 CRITICAL s390/ism: fix concurrency management in ism_cmd()
CVE-2025-39682 9.8 CRITICAL tls: fix handling of zero-length records on the rx_list
CVE-2025-39702 9.8 CRITICAL ipv6: sr: Fix MAC comparison to be constant-time
CVE-2025-39703 9.8 CRITICAL net, hsr: reject HSR frame if skb can't hold tag
CVE-2025-39673 9.8 CRITICAL ppp: fix race conditions in ppp_fill_forward_path
CVE-2025-38737 9.8 CRITICAL cifs: Fix oops due to uninitialised variable
CVE-2025-39704 8.8 HIGH LoongArch: KVM: Fix stack protector issue in send_ipi_data()
CVE-2025-39718 8.4 HIGH vsock/virtio: Validate length in packet header before skb_put()
CVE-2025-39714 7.8 HIGH media: usbtv: Lock resolution while streaming
CVE-2025-39711 7.8 HIGH media: ivsc: Fix crash at shutdown due to missing mei_cldev_disable() calls
CVE-2025-39710 7.8 HIGH media: venus: Add a check for packet size after reading from shared memory
CVE-2025-39717 7.8 HIGH open_tree_attr: do not allow id-mapping changes without OPEN_TREE_CLONE
CVE-2025-39698 7.8 HIGH io_uring/futex: ensure io_futex_wait() cleans up properly on failure
CVE-2025-38731 7.8 HIGH drm/xe: Fix vm_bind_ioctl double free bug
CVE-2025-39696 7.8 HIGH ALSA: hda: tas2781: Fix wrong reference of tasdevice_priv
CVE-2025-39697 7.8 HIGH NFS: Fix a race when updating an existing write
CVE-2025-39691 7.8 HIGH fs/buffer: fix use-after-free when call bh_read() helper
CVE-2025-39689 7.8 HIGH ftrace: Also allocate and copy hash for reading of filter files
CVE-2025-38733 7.8 HIGH s390/mm: Do not map lowcore with identity mapping
CVE-2025-39680 7.8 HIGH i2c: rtl9300: Fix out-of-bounds bug in rtl9300_i2c_smbus_xfer

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38734

No comments yet


Leave a comment