CVE-2025-38192: net: clear the dst when changing skb protocol
In the Linux kernel, the following vulnerability has been resolved:
net: clear the dst when changing skb protocol
A not-so-careful NAT46 BPF program can crash the kernel
if it indiscriminately flips ingress packets from v4 to v6:
BUG: kernel NULL pointer dereference, address: 0000000000000000
ip6_rcv_core (net/ipv6/ip6_input.c:190:20)
ipv6_rcv (net/ipv6/ip6_input.c:306:8)
process_backlog (net/core/dev.c:6186:4)
napi_poll (net/core/dev.c:6906:9)
net_rx_action (net/core/dev.c:7028:13)
do_softirq (kernel/softirq.c:462:3)
netif_rx (net/core/dev.c:5326:3)
dev_loopback_xmit (net/core/dev.c:4015:2)
ip_mc_finish_output (net/ipv4/ip_output.c:363:8)
NF_HOOK (./include/linux/netfilter.h:314:9)
ip_mc_output (net/ipv4/ip_output.c:400:5)
dst_output (./include/net/dst.h:459:9)
ip_local_out (net/ipv4/ip_output.c:130:9)
ip_send_skb (net/ipv4/ip_output.c:1496:8)
udp_send_skb (net/ipv4/udp.c:1040:8)
udp_sendmsg (net/ipv4/udp.c:1328:10)
The output interface has a 4->6 program attached at ingress.
We try to loop the multicast skb back to the sending socket.
Ingress BPF runs as part of netif_rx(), pushes a valid v6 hdr
and changes skb->protocol to v6. We enter ip6_rcv_core which
tries to use skb_dst(). But the dst is still an IPv4 one left
after IPv4 mcast output.
Clear the dst in all BPF helpers which change the protocol.
Try to preserve metadata dsts, those may carry non-routing
metadata.
Security readout for executives and security teams
Plain-English summary
A Linux networking flaw can crash the kernel when an ingress BPF program converts an IPv4 packet to IPv6 without safely handling existing routing information. Successful triggering could disrupt affected systems. The supplied evidence describes a specific local BPF/NAT46 scenario, not an ordinary remote network attack.
Executive priority
Treat as a high-priority stability risk on BPF-enabled networking systems, gateways, and appliances using protocol translation. Patch exposed systems promptly, but avoid assuming every Linux host is directly reachable through this flaw. No active exploitation is established by the supplied sources.
Technical view
BPF helpers that change skb protocol could leave an incompatible IPv4 destination attached after conversion to IPv6. IPv6 receive processing may then dereference invalid destination state in ip6_rcv_core, causing a kernel NULL-pointer fault. The kernel fix clears the destination while attempting to preserve metadata-only destinations.
Likely exposure
Prioritize Linux hosts that attach ingress BPF programs performing NAT46 or otherwise changing packet protocol. Exposure depends on affected kernel code and the ability to load or influence such programs. The supplied affected-version list is ambiguous, so distribution and appliance vendor backport status must be checked directly.
Exploitation context
The CVSS 3.1 score is 7.8 with local access, low complexity, low privileges, and no user interaction. The bundle does not establish active exploitation, and the CVE is not listed as KEV. Evidence demonstrates a kernel crash caused by unsafe BPF program behavior; broader confidentiality or integrity impact is not demonstrated.
Researcher notes
The failure occurs when protocol conversion leaves an IPv4 dst associated with an skb subsequently processed as IPv6. Remediation changes all relevant BPF protocol-changing helpers to clear routing destinations while preserving metadata destinations where possible. Exact vulnerable and fixed release boundaries are not reliably expressed in the supplied version data.
Mitigation direction
Install a vendor kernel update containing the applicable stable fix or confirmed backport.
Check Linux distribution and appliance advisories because version numbers alone may not reveal backported fixes.
Disable unnecessary ingress NAT46 BPF programs that rewrite packet protocols until patch status is confirmed.
Restrict authorization to load, attach, or modify networking BPF programs.
Validation and detection
Inventory kernel builds and obtain vendor confirmation that CVE-2025-38192 is fixed.
Identify ingress BPF programs that convert IPv4 packets to IPv6 or change skb protocol.
Review kernel logs for NULL-pointer faults involving ip6_rcv_core or IPv6 receive processing.
Verify the applicable vendor kernel includes one of the referenced stable fixes or an equivalent backport.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2025-38192 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
9Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.