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

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2025-21678— gtp: Destroy device along with udp socket's netns dismantle.

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存在安全漏洞,该漏洞源于gtp_newlink函数将设备链接到错误的网络命名空间dev_net(dev),而不是正确的src_net。当src_net被移除时,设备仍然存活,导致引用计数错误和系统崩溃。

CVSS 7.8 · High EPSS 0.23% · P14

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux 459aa660eb1d8ce67080da1983bb81d716aa5a69< c986380c1d5274c4d5e935addc807d6791cc23eb affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< 5f1678346109ff3a6d229d33437fcba3cce9209d affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< 036f8d814a2cd11ee8ef62b8f3e7ce5dec0ee4f3 affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< efec287cbac92ac6ee8312a89221854760e13b34 affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< bb11f992f5a475bc68ef959f17a55306f0328495 affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< 86f73d4ab2f27deeff22ba9336ad103d94f12ac7 affected
459aa660eb1d8ce67080da1983bb81d716aa5a69< eb28fd76c0a08a47b470677c6cef9dd1c60e92d1 affected
4.7 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21678

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
gtp: Destroy device along with udp socket's netns dismantle.
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: gtp: Destroy device along with udp socket's netns dismantle. gtp_newlink() links the device to a list in dev_net(dev) instead of src_net, where a udp tunnel socket is created. Even when src_net is removed, the device stays alive on dev_net(dev). Then, removing src_net triggers the splat below. [0] In this example, gtp0 is created in ns2, and the udp socket is created in ns1. ip netns add ns1 ip netns add ns2 ip -n ns1 link add netns ns2 name gtp0 type gtp role sgsn ip netns del ns1 Let's link the device to the socket's netns instead. Now, gtp_net_exit_batch_rtnl() needs another netdev iteration to remove all gtp devices in the netns. [0]: ref_tracker: net notrefcnt@000000003d6e7d05 has 1/2 users at sk_alloc (./include/net/net_namespace.h:345 net/core/sock.c:2236) inet_create (net/ipv4/af_inet.c:326 net/ipv4/af_inet.c:252) __sock_create (net/socket.c:1558) udp_sock_create4 (net/ipv4/udp_tunnel_core.c:18) gtp_create_sock (./include/net/udp_tunnel.h:59 drivers/net/gtp.c:1423) gtp_create_sockets (drivers/net/gtp.c:1447) gtp_newlink (drivers/net/gtp.c:1507) rtnl_newlink (net/core/rtnetlink.c:3786 net/core/rtnetlink.c:3897 net/core/rtnetlink.c:4012) rtnetlink_rcv_msg (net/core/rtnetlink.c:6922) netlink_rcv_skb (net/netlink/af_netlink.c:2542) netlink_unicast (net/netlink/af_netlink.c:1321 net/netlink/af_netlink.c:1347) netlink_sendmsg (net/netlink/af_netlink.c:1891) ____sys_sendmsg (net/socket.c:711 net/socket.c:726 net/socket.c:2583) ___sys_sendmsg (net/socket.c:2639) __sys_sendmsg (net/socket.c:2669) do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) WARNING: CPU: 1 PID: 60 at lib/ref_tracker.c:179 ref_tracker_dir_exit (lib/ref_tracker.c:179) Modules linked in: CPU: 1 UID: 0 PID: 60 Comm: kworker/u16:2 Not tainted 6.13.0-rc5-00147-g4c1224501e9d #5 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 Workqueue: netns cleanup_net RIP: 0010:ref_tracker_dir_exit (lib/ref_tracker.c:179) Code: 00 00 00 fc ff df 4d 8b 26 49 bd 00 01 00 00 00 00 ad de 4c 39 f5 0f 85 df 00 00 00 48 8b 74 24 08 48 89 df e8 a5 cc 12 02 90 <0f> 0b 90 48 8d 6b 44 be 04 00 00 00 48 89 ef e8 80 de 67 ff 48 89 RSP: 0018:ff11000009a07b60 EFLAGS: 00010286 RAX: 0000000000002bd3 RBX: ff1100000f4e1aa0 RCX: 1ffffffff0e40ac6 RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffffff8423ee3c RBP: ff1100000f4e1af0 R08: 0000000000000001 R09: fffffbfff0e395ae R10: 0000000000000001 R11: 0000000000036001 R12: ff1100000f4e1af0 R13: dead000000000100 R14: ff1100000f4e1af0 R15: dffffc0000000000 FS: 0000000000000000(0000) GS:ff1100006ce80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f9b2464bd98 CR3: 0000000005286005 CR4: 0000000000771ef0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400 PKRU: 55555554 Call Trace: <TASK> ? __warn (kernel/panic.c:748) ? ref_tracker_dir_exit (lib/ref_tracker.c:179) ? report_bug (lib/bug.c:201 lib/bug.c:219) ? handle_bug (arch/x86/kernel/traps.c:285) ? exc_invalid_op (arch/x86/kernel/traps.c:309 (discriminator 1)) ? asm_exc_invalid_op (./arch/x86/include/asm/idtentry.h:621) ? _raw_spin_unlock_irqrestore (./arch/x86/include/asm/irqflags.h:42 ./arch/x86/include/asm/irqflags.h:97 ./arch/x86/include/asm/irqflags.h:155 ./include/linux/spinlock_api_smp.h:151 kernel/locking/spinlock.c:194) ? ref_tracker_dir_exit (lib/ref_tracker.c:179) ? __pfx_ref_tracker_dir_exit (lib/ref_tracker.c:158) ? kfree (mm/slub.c:4613 mm/slub.c:4761) net_free (net/core/net_namespace.c:476 net/core/net_namespace.c:467) cleanup_net (net/core/net_namespace.c:664 (discriminator 3)) process_one_work (kernel/workqueue.c:3229) worker_thread (kernel/workqueue.c:3304 kernel/workqueue.c:3391 ---truncated---
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/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存在安全漏洞,该漏洞源于gtp_newlink函数将设备链接到错误的网络命名空间dev_net(dev),而不是正确的src_net。当src_net被移除时,设备仍然存活,导致引用计数错误和系统崩溃。
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 459aa660eb1d8ce67080da1983bb81d716aa5a69 ~ c986380c1d5274c4d5e935addc807d6791cc23eb -
Linux Linux 4.7 -

II. Public POCs for CVE-2025-21678

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

登录查看更多情报信息。

Patches & Fixes for CVE-2025-21678 (7)

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-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-21674 net/mlx5e: Fix inversion dependency warning while enabling IPsec tunnel
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-21678

No comments yet


Leave a comment