In the Linux kernel, the following vulnerability has been resolved:
netfilter: nfnatsip: reload possible stale data pointer
quoting sashiko:
[..] noticed a potential memory bug and header corruption involving the SIP NAT helper.
In net/netfilter/nfnatsip.c:nfnatsip(): if (skbensurewritable(skb, skb->len)) { nfcthelperlog(skb, ct, "cannot mangle packet"); return NFDROP; } uh = (void *)skb->data + protoff; uh->dest = ctsipinfo->forceddport; if (!nfnatmangleudp_packet(skb, ct, ctinfo, protoff, 0, 0, NULL, 0)) {
If a cloned or fragmented SKB is reallocated by skbensurewritable(), the old data buffer is freed. However, nfnatsip() fails to update *dptr to point to the new buffer.
It also appears to use nfnatmangleudppacket() on what could be a TCP packet, which would overwrite the sequence number with a checksum update.
nfconntracksip linerizes skbs, hence no fragmented skb can be seen. But clones are possible, so rebuild dptr.
Disable nfnatmangleudppacket() branch for TCP streams. It doesn't look like this can ever happen, else we should have received bug reports about this, so just check the conntrack is UDP and drop otherwise.
The calling conntracksip set ->forceddport for SIPHDRVIA_UDP messages, so I don't think this is ever expected to be true for a TCP stream.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/72xxx/CVE-2026-72251.json"
}