{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2025-38120", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2025-04-16T04:51:23.986Z", "datePublished": "2025-07-03T08:35:27.233Z", "dateUpdated": "2026-08-05T11:59:43.745Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:59:43.745Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: nf_set_pipapo_avx2: fix initial map fill\n\nIf the first field doesn't cover the entire start map, then we must zero\nout the remainder, else we leak those bits into the next match round map.\n\nThe early fix was incomplete and did only fix up the generic C\nimplementation.\n\nA followup patch adds a test case to nft_concat_range.sh." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L", "baseScore": 9.4, "baseSeverity": "CRITICAL" }, "scenarios": [ { "lang": "en", "value": "AV:N - The buggy result-map initialization is in `nft_pipapo_avx2_lookup()`, the nftables set lookup invoked on the packet-processing datapath for every packet traversing a rule that references a concat/range set. A remote unauthenticated attacker triggers and exploits the stale-bit condition purely by sending crafted packet sequences to the filtering host.\nAC:L - The attacker controls both sides: one packet causes a match at a high rule index that leaves bits in the untouched tail of the per-CPU scratch map, and the next packet reads those bits as spurious candidates. AVX2 pipapo is the default set backend on x86-64 and the required set shape (first field smaller than the widest field) is the common `addr . port-range` concatenation.\nPR:N - No credentials or privileges are needed — merely sending packets that are processed by the victim's nftables ruleset reaches the vulnerable lookup. The set and ruleset already exist as part of the vulnerable configuration.\nUI:N - The lookup runs automatically in softirq context on packet receive; no action by any local user or administrator is required.\nS:U - The incorrect matching and its consequences remain within the kernel/netfilter security authority of the affected host; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - False-positive set matches let packets take the wrong verdict path, bypassing the intended packet filter so an attacker reaches services and data the ruleset was configured to protect. Wrong element selection in a `map`/`vmap` set also leaks the wrong association's action to attacker-observable traffic.\nI:H - The bug causes the kernel to apply the wrong verdict, NAT target, or map value to attacker traffic, defeating the configured security policy and permitting unauthorized modification of data on services that should have been unreachable.\nA:L - There is no memory corruption, crash, or hang; however, spurious matches against drop/blocklist sets misclassify legitimate traffic, degrading availability of the protected services rather than fully denying the system." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "net/netfilter/nft_set_pipapo_avx2.c" ], "versions": [ { "version": "77bf0c4ab928ca4c9a99311f4f70ba0c17fecba9", "lessThan": "8164d0efaf370c425dc69a1e8216940d09e7de0c", "status": "affected", "versionType": "git" }, { "version": "957a4d1c4c5849e4515c9fb4db21bf85318103dc", "lessThan": "b5ad58285f9217d68cd5ea2ad86ce254a3fe7c4d", "status": "affected", "versionType": "git" }, { "version": "9625c46ce6fd4f922595a4b32b1de5066d70464f", "lessThan": "90bc7f5a244aadee4292b28098b7c98aadd4b3aa", "status": "affected", "versionType": "git" }, { "version": "69b6a67f7052905e928d75a0c5871de50e686986", "lessThan": "39bab2d3517b5b50c609b4f8c66129bf619fffa0", "status": "affected", "versionType": "git" }, { "version": "791a615b7ad2258c560f91852be54b0480837c93", "lessThan": "251496ce1728c9fd47bd2b20a7b21b20b9a020ca", "status": "affected", "versionType": "git" }, { "version": "791a615b7ad2258c560f91852be54b0480837c93", "lessThan": "8068e1e42b46518ce680dc6470bcd710efc3fa0a", "status": "affected", "versionType": "git" }, { "version": "791a615b7ad2258c560f91852be54b0480837c93", "lessThan": "ea77c397bff8b6d59f6d83dae1425b08f465e8b5", "status": "affected", "versionType": "git" }, { "version": "8058c88ac0df21239daee54b5934d5c80ca9685f", "status": "affected", "versionType": "git" }, { "version": "5.15.165", "lessThan": "5.15.186", "status": "affected", "versionType": "semver" }, { "version": "6.1.103", "lessThan": "6.1.142", "status": "affected", "versionType": "semver" }, { "version": "6.6.44", "lessThan": "6.6.94", "status": "affected", "versionType": "semver" }, { "version": "6.10.3", "lessThan": "6.11", "status": "affected", "versionType": "semver" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "net/netfilter/nft_set_pipapo_avx2.c" ], "versions": [ { "version": "6.11", "status": "affected" }, { "version": "0", "lessThan": "6.11", "status": "unaffected", "versionType": "semver" }, { "version": "5.15.186", "lessThanOrEqual": "5.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.142", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.94", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.34", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.15.3", "lessThanOrEqual": "6.15.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.16", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.15.165", "versionEndExcluding": "5.15.186" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.1.103", "versionEndExcluding": "6.1.142" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.6.44", "versionEndExcluding": "6.6.94" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.11", "versionEndExcluding": "6.12.34" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.11", "versionEndExcluding": "6.15.3" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.11", "versionEndExcluding": "6.16" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.10.3" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/8164d0efaf370c425dc69a1e8216940d09e7de0c" }, { "url": "https://git.kernel.org/stable/c/b5ad58285f9217d68cd5ea2ad86ce254a3fe7c4d" }, { "url": "https://git.kernel.org/stable/c/90bc7f5a244aadee4292b28098b7c98aadd4b3aa" }, { "url": "https://git.kernel.org/stable/c/39bab2d3517b5b50c609b4f8c66129bf619fffa0" }, { "url": "https://git.kernel.org/stable/c/251496ce1728c9fd47bd2b20a7b21b20b9a020ca" }, { "url": "https://git.kernel.org/stable/c/8068e1e42b46518ce680dc6470bcd710efc3fa0a" }, { "url": "https://git.kernel.org/stable/c/ea77c397bff8b6d59f6d83dae1425b08f465e8b5" } ], "title": "netfilter: nf_set_pipapo_avx2: fix initial map fill", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "title": "CVE Program Container", "references": [ { "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html" } ], "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2025-11-03T17:34:21.242Z" } } ] } }