CVE-2025-38154: bpf, sockmap: Avoid using sk_socket after free when sending
Vulnerability summary
CVE-2025-38154 is a high (CVSS 7.8) Use After Free vulnerability in debian debian_linux. EPSS estimates a 0.19% chance of exploitation in the next 30 days, higher than 8.3% of scored vulnerabilities.
Not severe (CVSS 7.8, local access); no exploitation reported by the 5 checked sources
Source freshness unavailable
How is this decided?Advisory lineage
Upstream 0 · Downstream 58 · Related 48Timeline
- 03-07-2025PublishedVulnerability first disclosed.
- 15-10-2026Last modifiedVulnerability information updated.
Description
In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Avoid using sk_socket after free when sending The sk->sk_socket is not locked or referenced in backlog thread, and during the call to skb_send_sock(), there is a race condition with the release of sk_socket. All types of sockets(tcp/udp/unix/vsock) will be affected. Race conditions: ''' CPU0 CPU1 backlog::skb_send_sock sendmsg_unlocked sock_sendmsg sock_sendmsg_nosec close(fd): ... ops->release() -> sock_map_close() sk_socket->ops = NULL free(socket) sock->ops->sendmsg ^ panic here ''' The ref of psock become 0 after sock_map_close() executed. ''' void sock_map_close() { ... if (likely(psock)) { ... // !! here we remove psock and the ref of psock become 0 sock_map_remove_links(sk, psock) psock = sk_psock_get(sk); if (unlikely(!psock)) goto no_psock; <=== Control jumps here via goto ... cancel_delayed_work_sync(&psock->work); <=== not executed sk_psock_put(sk, psock); ... } ''' Based on the fact that we already wait for the workqueue to finish in sock_map_close() if psock is held, we simply increase the psock reference count to avoid race conditions. With this patch, if the backlog thread is running, sock_map_close() will wait for the backlog thread to complete and cancel all pending work. If no backlog running, any pending work that hasn't started by then will fail when invoked by sk_psock_get(), as the psock reference count have been zeroed, and sk_psock_drop() will cancel all jobs via cancel_delayed_work_sync(). In summary, we require synchronization to coordinate the backlog thread and close() thread. The panic I catched: ''' Workqueue: events sk_psock_backlog RIP: 0010:sock_sendmsg+0x21d/0x440 RAX: 0000000000000000 RBX: ffffc9000521fad8 RCX: 0000000000000001 ... Call Trace: <TASK> ? die_addr+0x40/0xa0 ? exc_general_protection+0x14c/0x230 ? asm_exc_general_protection+0x26/0x30 ? sock_sendmsg+0x21d/0x440 ? sock_sendmsg+0x3e0/0x440 ? __pfx_sock_sendmsg+0x10/0x10 __skb_send_sock+0x543/0xb70 sk_psock_backlog+0x247/0xb80 ... '''
CVSS metrics
5 scores · 5 sources · 1 version- OSV · Red hatEcosystem advisory · calculated6.7MediumCVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:HDiffers
- OSV · UbuntuEcosystem advisory · calculated7.8HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- OSV · DebianEcosystem advisory · calculated7.8HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- NVDNIST7.8HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
EPSS trend
Probability
0.19%
Chance of exploitation in the next 30 days
Percentile
8%
Versus all other CVEs
30-day change
No change 0.00 pp
From 0.19% on 04-10-2026
Known exploited
Compare KEV catalogsNot in the CISA KEV catalog.
Not in the ENISA CNW catalog.
Not in the CIRCL catalog.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Known conditions: local access, low-privilege account, no user interaction (CVSS vector). Other conditions: not stated in public data.
Ubuntu133 products
- linux< 5.15.0-156.166 | < 6.8.0-100.100
- linux-allwinner-5.19All versions (No fix recorded)
- linux-aws< 5.15.0-1092.99 | < 6.8.0-1046.49
- linux-aws-5.0All versions (No fix recorded)
- linux-aws-5.11All versions (No fix recorded)
Redhat63 products
- kernel< 0:5.14.0-570.94.1.el9_6
- kernel-64k< 0:5.14.0-570.94.1.el9_6
- kernel-64k-core< 0:5.14.0-570.94.1.el9_6
- kernel-64k-debug< 0:5.14.0-570.94.1.el9_6
- kernel-64k-debug-core< 0:5.14.0-570.94.1.el9_6
Debian2 products
- linux< 6.1.147-1 | < 6.12.35-1
- debian_linuxEOL11.0
Linux2 products
- linux≥ 4959ffc65a0e94f8acaac20deac49f89e6ded52d, < 4edb40b05cb6a261775abfd8046804ca139a5546 | ≥ 5eabdf17fed2ad41b836bb4055ec36d95e512c50, < b19cbf0b9a91f5a0d93fbcd761ff71c48ab40ed9 | ≥ e946428439a0d2079959f5603256ac51b6047017, < 4c6fa65ab2aec7df94809478c8d28ef38676a1b7 | ≥ 4b4647add7d3c8530493f7247d11e257ee425bf0, < 15c0250dae3b48a398447d2b364603821ed4ed90 | ≥ 4b4647add7d3c8530493f7247d11e257ee425bf0, < 7c0a16f6ea2b1c82a03bccd5d1bdb4a7bbd4d987 | ≥ 4b4647add7d3c8530493f7247d11e257ee425bf0, < 8259eb0e06d8f64c700f5fbdb28a5c18e10de291 | 3627605de498639a3c586c8684d12c89cba11073 | ≥ 5.15.162, < 5.15.186 | ≥ 6.1.95, < 6.1.142 | ≥ 6.6.35, < 6.6.94 | ≥ 6.9.6, < 6.10 | 6.10
- linux_kernelEOL≥ 5.15.162, < 5.15.186 | ≥ 6.1.95, < 6.1.142 | ≥ 6.6.35, < 6.6.94 | ≥ 6.9.6, < 6.10 | ≥ 6.10.1, < 6.12.34 | ≥ 6.13, < 6.15.3 | 6.10 | 6.10:rc2 | 6.10:rc3 | 6.10:rc4 | 6.10:rc5 | 6.10:rc6 | 6.10:rc7
4 vendors · 200 products · Showing 200 of 228
References
50 links- lists.debian.org/debian-lts-announce/2025/10/msg00008.htmlThird Party Advisory