In the Linux kernel, the following vulnerability has been resolved:

netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry

New test case fails unexpectedly when avx2 matching functions are used.

The test first loads a ranomly generated pipapo set
with 'ipv4 . port' key, i.e. nft -f foo.

This works. Then, it reloads the set after a flush:
(echo flush set t s; cat foo) | nft -f -

This is expected to work, because its the same set after all and it was
already loaded once.

But with avx2, this fails: nft reports a clashing element.

The reported clash is of following form:

We successfully re-inserted
a . b
c . d

Then we try to insert a . d

avx2 finds the already existing a . d, which (due to 'flush set') is marked
as invalid in the new generation. It skips the element and moves to next.

Due to incorrect masking, the skip-step finds the next matching
element *only considering the first field*,

i.e. we return the already reinserted "a . b", even though the
last field is different and the entry should not have been matched.

No such error is reported for the generic c implementation (no avx2) or when
the last field has to use the 'nft_pipapo_avx2_lookup_slow' fallback.

Bisection points to
7711f4bb4b36 ("netfilter: nft_set_pipapo: fix range overlap detection")
but that fix merely uncovers this bug.

Before this commit, the wrong element is returned, but erronously
reported as a full, identical duplicate.

The root-cause is too early return in the avx2 match functions.
When we process the last field, we should continue to process data
until the entire input size has been consumed to make sure no stale
bits remain in the map.

Project Subscriptions

Vendors Products
Linux Kernel Subscribe
Advisories
Source ID Title
Debian DLA Debian DLA DLA-4664-1 linux security update
Debian DLA Debian DLA DLA-4665-1 linux security update
Debian DLA Debian DLA DLA-4671-1 linux-6.1 security update
Ubuntu USN Ubuntu USN USN-8490-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8491-1 Linux kernel (OEM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8492-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8493-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8492-2 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8493-2 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8497-1 Linux kernel (Low Latency) vulnerabilities
Ubuntu USN Ubuntu USN USN-8498-1 Linux kernel (NVIDIA Tegra) vulnerabilities
Ubuntu USN Ubuntu USN USN-8499-1 Linux kernel (Xilinx) vulnerabilities
Ubuntu USN Ubuntu USN USN-8508-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-8492-3 Linux kernel (Raspberry Pi Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-8490-2 Linux kernel (Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-8492-4 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-8492-5 Linux kernel (FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8527-1 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-8528-1 Linux kernel (Xilinx ZynqMP) vulnerabilities
Ubuntu USN Ubuntu USN USN-8545-1 Linux kernel (HWE) vulnerabilities
Ubuntu USN Ubuntu USN USN-8546-1 Linux kernel (Raspberry Pi) vulnerabilities
Ubuntu USN Ubuntu USN USN-8547-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8604-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8605-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8606-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8607-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8609-1 Linux kernel (Azure CVM) vulnerabilities
Ubuntu USN Ubuntu USN USN-8547-2 Linux kernel (Azure FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8619-1 Linux kernel (HWE) vulnerabilities
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

References
Link Providers
https://access.redhat.com/errata/RHSA-2026:59723 cve-icon
https://access.redhat.com/errata/RHSA-2026:62568 cve-icon
https://access.redhat.com/errata/RHSA-2026:62638 cve-icon
https://access.redhat.com/errata/RHSA-2026:62639 cve-icon
https://access.redhat.com/errata/RHSA-2026:62640 cve-icon
https://access.redhat.com/errata/RHSA-2026:62641 cve-icon
https://access.redhat.com/errata/RHSA-2026:62642 cve-icon
https://access.redhat.com/errata/RHSA-2026:63093 cve-icon
https://access.redhat.com/errata/RHSA-2026:64767 cve-icon
https://access.redhat.com/errata/RHSA-2026:65712 cve-icon
https://access.redhat.com/errata/RHSA-2026:66351 cve-icon
https://access.redhat.com/errata/RHSA-2026:66370 cve-icon
https://access.redhat.com/errata/RHSA-2026:66376 cve-icon
https://access.redhat.com/errata/RHSA-2026:67721 cve-icon
https://access.redhat.com/errata/RHSA-2026:67723 cve-icon
https://access.redhat.com/security/cve/CVE-2026-43114 cve-icon
https://bugzilla.redhat.com/show_bug.cgi?id=2466994 cve-icon
https://git.kernel.org/stable/c/07de44424bb7f17ef9357e8535df96d9e97c40cb cve-icon cve-icon
https://git.kernel.org/stable/c/0abbc43f71d99baadeeba6fa3fe1c80b676f57ed cve-icon cve-icon
https://git.kernel.org/stable/c/1c43f0dd8691ddf8884793b481ddc7511cf593c3 cve-icon cve-icon
https://git.kernel.org/stable/c/3d53f9aafd469ae1ea27051e00f5b96ca1b55d52 cve-icon cve-icon
https://git.kernel.org/stable/c/c7babe2f28b507e17f28e9f753b7caec72d4857f cve-icon cve-icon
https://git.kernel.org/stable/c/d3c0037ffe1273fa1961e779ff6906234d6cf53c cve-icon cve-icon
https://git.kernel.org/stable/c/f8c39983fc9c1a978c82e6f2df7bfba8a8561587 cve-icon cve-icon
https://git.kernel.org/stable/c/fa4f1f52528c73989d820f32bfca06bec5afeece cve-icon cve-icon
https://lore.kernel.org/linux-cve-announce/2026050626-CVE-2026-43114-5deb@gregkh/T cve-icon
https://nvd.nist.gov/vuln/detail/CVE-2026-43114 cve-icon
https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-43114.json cve-icon
https://www.cve.org/CVERecord?id=CVE-2026-43114 cve-icon
History

Wed, 16 Sep 2026 13:30:00 +0000


Tue, 15 Sep 2026 12:30:00 +0000


Wed, 09 Sep 2026 13:30:00 +0000


Thu, 03 Sep 2026 13:15:00 +0000


Wed, 26 Aug 2026 15:45:00 +0000

Type Values Removed Values Added
References

Mon, 01 Jun 2026 17:00:00 +0000


Fri, 08 May 2026 18:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20 NVD-CWE-noinfo
CPEs cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*

Fri, 08 May 2026 13:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

cvssV3_1

{'score': 9.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L'}


Thu, 07 May 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-480
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}

threat_severity

Moderate


Wed, 06 May 2026 12:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20

Wed, 06 May 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry New test case fails unexpectedly when avx2 matching functions are used. The test first loads a ranomly generated pipapo set with 'ipv4 . port' key, i.e. nft -f foo. This works. Then, it reloads the set after a flush: (echo flush set t s; cat foo) | nft -f - This is expected to work, because its the same set after all and it was already loaded once. But with avx2, this fails: nft reports a clashing element. The reported clash is of following form: We successfully re-inserted a . b c . d Then we try to insert a . d avx2 finds the already existing a . d, which (due to 'flush set') is marked as invalid in the new generation. It skips the element and moves to next. Due to incorrect masking, the skip-step finds the next matching element *only considering the first field*, i.e. we return the already reinserted "a . b", even though the last field is different and the entry should not have been matched. No such error is reported for the generic c implementation (no avx2) or when the last field has to use the 'nft_pipapo_avx2_lookup_slow' fallback. Bisection points to 7711f4bb4b36 ("netfilter: nft_set_pipapo: fix range overlap detection") but that fix merely uncovers this bug. Before this commit, the wrong element is returned, but erronously reported as a full, identical duplicate. The root-cause is too early return in the avx2 match functions. When we process the last field, we should continue to process data until the entire input size has been consumed to make sure no stale bits remain in the map.
Title netfilter: nft_set_pipapo_avx2: don't return non-matching entry on expiry
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-09-16T12:04:15.760Z

Reserved: 2026-05-01T14:12:55.986Z

Link: CVE-2026-43114

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Modified

Published: 2026-05-06T10:16:25.163

Modified: 2026-09-16T13:17:57.820

Link: CVE-2026-43114

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-05-06T00:00:00Z

Links: CVE-2026-43114 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-05-08T21:00:10Z

Weaknesses