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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-38165— bpf, sockmap: Fix panic when calling skb_linearize

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 7.5 · High EPSS 0.35% · P27

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 18

VendorProduct Version RangeStatus
Linux Linux 65ad600b9bde68d2d28709943ab00b51ca8f0a1d< 4dba44333a11522df54b49aa1f2edfaf6ce35fc7 affected
923877254f002ae87d441382bb1096d9e773d56d< 9718ba6490732dbe70190d42c21deb1440834402 affected
a454d84ee20baf7bd7be90721b9821f73c7d23d9< db1d15a26f21f97459508c42ae87cabe8d3afc3b affected
a454d84ee20baf7bd7be90721b9821f73c7d23d9< 3d25fa2d7f127348c818e1dab9e58534f7ac56cc affected
a454d84ee20baf7bd7be90721b9821f73c7d23d9< e9c1299d813fc04668042690f2c3cc76d013959a affected
a454d84ee20baf7bd7be90721b9821f73c7d23d9< 5ca2e29f6834c64c0e5a9ccf1278c21fb49b827e affected
e6b5e47adb9166e732cdf7e6e034946e3f89f36d affected
5.15.189< 5.15.190 affected
… +10 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-38165

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
bpf, sockmap: Fix panic when calling skb_linearize
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix panic when calling skb_linearize The panic can be reproduced by executing the command: ./bench sockmap -c 2 -p 1 -a --rx-verdict-ingress --rx-strp 100000 Then a kernel panic was captured: ''' [ 657.460555] kernel BUG at net/core/skbuff.c:2178! [ 657.462680] Tainted: [W]=WARN [ 657.463287] Workqueue: events sk_psock_backlog ... [ 657.469610] <TASK> [ 657.469738] ? die+0x36/0x90 [ 657.469916] ? do_trap+0x1d0/0x270 [ 657.470118] ? pskb_expand_head+0x612/0xf40 [ 657.470376] ? pskb_expand_head+0x612/0xf40 [ 657.470620] ? do_error_trap+0xa3/0x170 [ 657.470846] ? pskb_expand_head+0x612/0xf40 [ 657.471092] ? handle_invalid_op+0x2c/0x40 [ 657.471335] ? pskb_expand_head+0x612/0xf40 [ 657.471579] ? exc_invalid_op+0x2d/0x40 [ 657.471805] ? asm_exc_invalid_op+0x1a/0x20 [ 657.472052] ? pskb_expand_head+0xd1/0xf40 [ 657.472292] ? pskb_expand_head+0x612/0xf40 [ 657.472540] ? lock_acquire+0x18f/0x4e0 [ 657.472766] ? find_held_lock+0x2d/0x110 [ 657.472999] ? __pfx_pskb_expand_head+0x10/0x10 [ 657.473263] ? __kmalloc_cache_noprof+0x5b/0x470 [ 657.473537] ? __pfx___lock_release.isra.0+0x10/0x10 [ 657.473826] __pskb_pull_tail+0xfd/0x1d20 [ 657.474062] ? __kasan_slab_alloc+0x4e/0x90 [ 657.474707] sk_psock_skb_ingress_enqueue+0x3bf/0x510 [ 657.475392] ? __kasan_kmalloc+0xaa/0xb0 [ 657.476010] sk_psock_backlog+0x5cf/0xd70 [ 657.476637] process_one_work+0x858/0x1a20 ''' The panic originates from the assertion BUG_ON(skb_shared(skb)) in skb_linearize(). A previous commit(see Fixes tag) introduced skb_get() to avoid race conditions between skb operations in the backlog and skb release in the recvmsg path. However, this caused the panic to always occur when skb_linearize is executed. The "--rx-strp 100000" parameter forces the RX path to use the strparser module which aggregates data until it reaches 100KB before calling sockmap logic. The 100KB payload exceeds MAX_MSG_FRAGS, triggering skb_linearize. To fix this issue, just move skb_get into sk_psock_skb_ingress_enqueue. ''' sk_psock_backlog: sk_psock_handle_skb skb_get(skb) <== we move it into 'sk_psock_skb_ingress_enqueue' sk_psock_skb_ingress____________ ↓ | | → sk_psock_skb_ingress_self | sk_psock_skb_ingress_enqueue sk_psock_verdict_apply_________________↑ skb_linearize ''' Note that for verdict_apply path, the skb_get operation is unnecessary so we add 'take_ref' param to control it's behavior.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/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 65ad600b9bde68d2d28709943ab00b51ca8f0a1d ~ 4dba44333a11522df54b49aa1f2edfaf6ce35fc7 -
Linux Linux 6.6 -

II. Public POCs for CVE-2025-38165

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

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

Same Patch Batch · Linux · 2025-07-03 · 78 CVEs total

CVE-2025-38139 9.8 CRITICAL netfs: Fix oops in write-retry from mis-resetting the subreq iterator
CVE-2025-38123 9.8 CRITICAL net: wwan: t7xx: Fix napi rx poll issue
CVE-2025-38146 9.4 CRITICAL net: openvswitch: Fix the dead loop of MPLS parse
CVE-2025-38120 9.4 CRITICAL netfilter: nf_set_pipapo_avx2: fix initial map fill
CVE-2025-38111 7.8 HIGH net/mdiobus: Fix potential out-of-bounds read/write access
CVE-2025-38116 7.8 HIGH wifi: ath12k: fix uaf in ath12k_core_init()
CVE-2025-38108 7.8 HIGH net_sched: red: fix a race in __red_change()
CVE-2025-38102 7.8 HIGH VMCI: fix race between vmci_host_setup_notify and vmci_ctx_unset_notify
CVE-2025-38101 7.8 HIGH ring-buffer: Fix buffer locking in ring_buffer_subbuf_order_set()
CVE-2025-38098 7.8 HIGH drm/amd/display: Don't treat wb connector as physical in create_validate_stream_for_sink
CVE-2025-38097 7.8 HIGH espintcp: remove encap socket caching to avoid reference leak
CVE-2025-38095 7.8 HIGH dma-buf: insert memory barrier before updating num_fences
CVE-2025-38106 7.8 HIGH io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo()
CVE-2025-38115 7.8 HIGH net_sched: sch_sfq: fix a potential crash on gso_skb handling
CVE-2025-38117 7.8 HIGH Bluetooth: MGMT: Protect mgmt_pending list with its own lock
CVE-2025-38118 7.8 HIGH Bluetooth: MGMT: Fix UAF on mgmt_remove_adv_monitor_complete
CVE-2025-38127 7.8 HIGH ice: fix Tx scheduler error handling in XDP callback
CVE-2025-38129 7.8 HIGH page_pool: Fix use-after-free in page_pool_recycle_in_ring
CVE-2025-38133 7.8 HIGH iio: adc: ad4851: fix ad4858 chan pointer handling
CVE-2025-38141 7.8 HIGH dm: fix dm_blk_report_zones

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-38165

No comments yet


Leave a comment