DEBIAN-CVE-2026-23016

Source
https://security-tracker.debian.org/tracker/CVE-2026-23016
Import Source
https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-23016.json
JSON Data
https://api.osv.dev/v1/vulns/DEBIAN-CVE-2026-23016
Upstream
Published
2026-01-31T12:16:04.900Z
Modified
2026-03-17T02:51:49.393171Z
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved: inet: frags: drop fraglist conntrack references Jakub added a warning in nfconntrackcleanupnetlist() to make debugging leaked skbs/conntrack references more obvious. syzbot reports this as triggering, and I can also reproduce this via ipdefrag.sh selftest: conntrack cleanup blocked for 60s WARNING: net/netfilter/nfconntrackcore.c:2512 [..] conntrack clenups gets stuck because there are skbs with still hold nfconn references via their fraglist. net.core.skbdefermax=0 makes the hang disappear. Eric Dumazet points out that skbreleaseheadstate() doesn't follow the fraglist. ipdefrag.sh can only reproduce this problem since commit 6471658dc66c ("udp: use skbattemptdeferfree()"), but AFAICS this problem could happen with TCP as well if pmtu discovery is off. The relevant problem path for udp is: 1. netns emits fragmented packets 2. nfdefragv6hook reassembles them (in output hook) 3. reassembled skb is tracked (skb owns nfconn reference) 4. ip6output refragments 5. refragmented packets also own nfconn reference (ip6fragment calls ip6copymetadata()) 6. on input path, nfdefragv6hook skips defragmentation: the fragments already have skb->nfconn attached 7. skbs are reassembled via ipv6fragrcv() 8. skbconsumeudp -> skbattemptdeferfree() -> skb ends up in pcpu freelist, but still has nfconn reference. Possible solutions: 1 let defrag engine drop nfconn entry, OR 2 export kickdeferlistpurge() and call it from the conntrack netns exit callback, OR 3 add skbhasfraglist() check to skbattemptdeferfree() 2 & 3 also solve ipdefrag.sh hang but share same drawback: Such reassembled skbs, queued to socket, can prevent conntrack module removal until userspace has consumed the packet. While both tcp and udp stack do call nfresetct() before placing skb on socket queue, that function doesn't iterate fraglist skbs. Therefore drop nfconn entries when they are placed in defrag queue. Keep the nfconn entry of the first (offset 0) skb so that reassembled skb retains nfconn entry for sake of TX path. Note that fixes tag is incorrect; it points to the commit introducing the 'ip_defrag.sh reproducible problem': no need to backport this patch to every stable kernel.

References

Affected packages

Debian:14 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.18.8-1

Affected versions

6.*
6.12.38-1
6.12.41-1
6.12.43-1~bpo12+1
6.12.43-1
6.12.48-1
6.12.57-1~bpo12+1
6.12.57-1
6.12.63-1~bpo12+1
6.12.63-1
6.12.69-1~bpo12+1
6.12.69-1
6.12.73-1~bpo12+1
6.12.73-1
6.12.74-1
6.12.74-2~bpo12+1
6.12.74-2
6.13~rc6-1~exp1
6.13~rc7-1~exp1
6.13.2-1~exp1
6.13.3-1~exp1
6.13.4-1~exp1
6.13.5-1~exp1
6.13.6-1~exp1
6.13.7-1~exp1
6.13.8-1~exp1
6.13.9-1~exp1
6.13.10-1~exp1
6.13.11-1~exp1
6.14.3-1~exp1
6.14.5-1~exp1
6.14.6-1~exp1
6.15~rc7-1~exp1
6.15-1~exp1
6.15.1-1~exp1
6.15.2-1~exp1
6.15.3-1~exp1
6.15.4-1~exp1
6.15.5-1~exp1
6.15.6-1~exp1
6.16~rc7-1~exp1
6.16-1~exp1
6.16.1-1~exp1
6.16.3-1~bpo13+1
6.16.3-1
6.16.5-1
6.16.6-1
6.16.7-1
6.16.8-1
6.16.9-1
6.16.10-1
6.16.11-1
6.16.12-1~bpo13+1
6.16.12-1
6.16.12-2
6.17.2-1~exp1
6.17.5-1~exp1
6.17.6-1
6.17.7-1
6.17.7-2
6.17.8-1~bpo13+1
6.17.8-1
6.17.9-1
6.17.10-1
6.17.11-1
6.17.12-1
6.17.13-1~bpo13+1
6.17.13-1
6.18~rc4-1~exp1
6.18~rc4-1~exp2
6.18~rc5-1~exp1
6.18~rc6-1~exp1
6.18~rc7-1~exp1
6.18.1-1~exp1
6.18.2-1~exp1
6.18.3-1
6.18.5-1~bpo13+1
6.18.5-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Database specific

source
"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-23016.json"