CVE-2026-45859
Description
In the Linux kernel, the following vulnerability has been resolved:
netfilter: nfnetlink_queue: do shared-unconfirmed check before segmentation
Ulrich reports a regression with nfqueue:
If an application did not set the 'F_GSO' capability flag and a gso packet with an unconfirmed nf_conn entry is received all packets are now dropped instead of queued, because the check happens after skb_gso_segment(). In that case, we did have exclusive ownership of the skb and its associated conntrack entry. The elevated use count is due to skb_clone happening via skb_gso_segment().
Move the check so that its peformed vs. the aggregated packet.
Then, annotate the individual segments except the first one so we can do a 2nd check at reinject time.
For the normal case, where userspace does in-order reinjects, this avoids packet drops: first reinjected segment continues traversal and confirms entry, remaining segments observe the confirmed entry.
While at it, simplify nf_ct_drop_unconfirmed(): We only care about unconfirmed entries with a refcnt > 1, there is no need to special-case dying entries.
This only happens with UDP. With TCP, the only unconfirmed packet will be the TCP SYN, those aren't aggregated by GRO.
Next patch adds a udpgro test case to cover this scenario.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
96- osv-coords89 versionspkg:rpm/opensuse/kernel-zfcpdump&distro=openSUSE%20Leap%2016.0pkg:linux/kernelpkg:rpm/almalinux/kernelpkg:rpm/almalinux/kernel-64kpkg:rpm/almalinux/kernel-64k-corepkg:rpm/almalinux/kernel-64k-debugpkg:rpm/almalinux/kernel-64k-debug-corepkg:rpm/almalinux/kernel-64k-debug-develpkg:rpm/almalinux/kernel-64k-devel-matchedpkg:rpm/almalinux/kernel-64k-modulespkg:rpm/almalinux/kernel-64k-modules-corepkg:rpm/almalinux/kernel-debug-corepkg:rpm/almalinux/kernel-debug-develpkg:rpm/almalinux/kernel-debug-devel-matchedpkg:rpm/almalinux/kernel-debug-modulespkg:rpm/almalinux/kernel-64k-debug-modules-extrapkg:rpm/opensuse/kernel-source&distro=openSUSE%20Leap%2016.0pkg:rpm/almalinux/kernel-debug-uki-virtpkg:rpm/almalinux/kernel-develpkg:rpm/almalinux/kernel-devel-matchedpkg:rpm/almalinux/kernel-zfcpdumppkg:rpm/almalinux/kernel-zfcpdump-corepkg:rpm/almalinux/kernel-zfcpdump-develpkg:rpm/almalinux/kernel-debug-modules-extrapkg:rpm/opensuse/kernel-obs-qa&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-rt&distro=openSUSE%20Leap%2016.0pkg:rpm/almalinux/kernel-rt-64k-debug-modules-corepkg:rpm/almalinux/kernel-rt-64k-debug-modules-extrapkg:rpm/almalinux/kernel-rt-64k-develpkg:rpm/almalinux/kernel-rt-64k-modulespkg:rpm/almalinux/kernel-rt-64k-modules-corepkg:rpm/almalinux/kernel-rt-corepkg:rpm/almalinux/kernel-rt-debugpkg:rpm/almalinux/kernel-rt-debug-develpkg:rpm/almalinux/kernel-zfcpdump-modules-corepkg:rpm/almalinux/kernel-zfcpdump-modules-extrapkg:rpm/almalinux/kernel-uki-virt-addonspkg:rpm/almalinux/kernel-zfcpdump-devel-matchedpkg:rpm/almalinux/kernel-64k-develpkg:rpm/opensuse/dtb-aarch64&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-64kb&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-azure&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-default&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-docs&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-obs-build&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-syms&distro=openSUSE%20Leap%2016.0pkg:rpm/opensuse/kernel-kvmsmall&distro=openSUSE%20Leap%2016.0pkg:rpm/almalinux/kernel-64k-debug-devel-matchedpkg:rpm/almalinux/kernel-64k-debug-modulespkg:rpm/almalinux/kernel-64k-debug-modules-corepkg:rpm/almalinux/kernel-64k-modules-extrapkg:rpm/almalinux/kernel-abi-stablelistspkg:rpm/almalinux/kernel-corepkg:rpm/almalinux/kernel-cross-headerspkg:rpm/almalinux/kernel-debugpkg:rpm/almalinux/kernel-debug-modules-corepkg:rpm/almalinux/kernel-docpkg:rpm/almalinux/kernel-headerspkg:rpm/almalinux/kernel-modulespkg:rpm/almalinux/kernel-modules-corepkg:rpm/almalinux/kernel-modules-extrapkg:rpm/almalinux/kernel-modules-extra-matchedpkg:rpm/almalinux/kernel-rtpkg:rpm/almalinux/kernel-rt-64kpkg:rpm/almalinux/kernel-rt-64k-corepkg:rpm/almalinux/kernel-rt-64k-debugpkg:rpm/almalinux/kernel-rt-64k-debug-corepkg:rpm/almalinux/kernel-rt-64k-debug-develpkg:rpm/almalinux/kernel-rt-64k-debug-modulespkg:rpm/almalinux/kernel-rt-64k-modules-extrapkg:rpm/almalinux/kernel-rt-debug-corepkg:rpm/almalinux/kernel-rt-debug-modulespkg:rpm/almalinux/kernel-rt-debug-modules-corepkg:rpm/almalinux/kernel-rt-debug-modules-extrapkg:rpm/almalinux/kernel-rt-develpkg:rpm/almalinux/kernel-rt-modulespkg:rpm/almalinux/kernel-rt-modules-corepkg:rpm/almalinux/kernel-rt-modules-extrapkg:rpm/almalinux/kernel-toolspkg:rpm/almalinux/kernel-tools-libspkg:rpm/almalinux/kernel-tools-libs-develpkg:rpm/almalinux/kernel-uki-virtpkg:rpm/almalinux/kernel-zfcpdump-modulespkg:rpm/almalinux/libperfpkg:rpm/almalinux/perfpkg:rpm/almalinux/python3-perfpkg:rpm/almalinux/rtlapkg:rpm/almalinux/rvpkg:rpm/opensuse/kernel-default-base&distro=openSUSE%20Leap%2016.0
< 6.12.0-160000.37.1+ 88 more
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.6.160
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-160000.37.1
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-211.66.1.el10_2
- (no CPE)range: < 6.12.0-160000.37.1.160000.2.19
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 6 more
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=5.15.166,<5.16
- cpe:2.3:o:linux:linux_kernel:6.11:-:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*
- cpe:2.3:o:linux:linux_kernel:6.11:rc7:*:*:*:*:*:*
- (no CPE)
Patches
Vulnerability mechanics
References
5- git.kernel.org/stable/c/207b3ebacb6113acaaec0d171d5307032c690004nvdPatch
- git.kernel.org/stable/c/23901aa6b8a2f294c4b774436b4691f3ff863a8fnvdPatch
- git.kernel.org/stable/c/79b713ef4261a8ead96af4703f89d0b5f25532e2nvdPatch
- git.kernel.org/stable/c/b740e7ddd7ca0dbfeafca3f5e52717206cf28524nvdPatch
- git.kernel.org/stable/c/aead84bdacd77e08357fd718e5dcaffaf387f3c3nvd
News mentions
0No linked articles in our index yet.