{"id":"CVE-2026-72350","state":"PUBLISHED","title":"netfilter: xt_u32: reject invalid shift counts","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_u32: reject invalid shift counts\n\nu32_match_it() executes rule-supplied shift operands on a 32-bit\nvalue. A malformed u32 rule can provide a shift count of 32 or more,\ntriggering an undefined shift out-of-bounds during packet evaluation.\n\nValidate XT_U32_LEFTSH and XT_U32_RIGHTSH operands in\nu32_mt_checkentry() and reject malformed rules before they reach the\npacket path.","publishedAt":"2026-08-15T05:55:53.532Z","updatedAt":"2026-10-16T18:55:19.841Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"ca7c92d9701249e6daf132087756a88cbf2bb2a3","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"b33b44250d57ab0e5a1e2571b5285fb0d0a7f382","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"728f479dc0447ae7eaef87926ff49142e415a811","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"0a8b7a6d763775709c601f584e709ae48bcc000a","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"cce42014415cecd98aa49b3950e7b02ee7c81268","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"a597a722fb71a534138c20359b655726622b5f17","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"00d034fe8230dfc5832fe011ff2d81c1a2cc7a29","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"64cdf7d30ac18e43df6c48004435febb965809a8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_u32.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.23","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.23","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_u32.c"]}],"references":["https://git.kernel.org/stable/c/ca7c92d9701249e6daf132087756a88cbf2bb2a3","https://git.kernel.org/stable/c/b33b44250d57ab0e5a1e2571b5285fb0d0a7f382","https://git.kernel.org/stable/c/728f479dc0447ae7eaef87926ff49142e415a811","https://git.kernel.org/stable/c/0a8b7a6d763775709c601f584e709ae48bcc000a","https://git.kernel.org/stable/c/cce42014415cecd98aa49b3950e7b02ee7c81268","https://git.kernel.org/stable/c/a597a722fb71a534138c20359b655726622b5f17","https://git.kernel.org/stable/c/00d034fe8230dfc5832fe011ff2d81c1a2cc7a29","https://git.kernel.org/stable/c/64cdf7d30ac18e43df6c48004435febb965809a8"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72350.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72350","state":"PUBLISHED","datePublished":"2026-08-15T05:55:53.532Z","dateUpdated":"2026-10-16T18:55:19.841Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.921Z"},"containers":{"cna":{"title":"netfilter: xt_u32: reject invalid shift counts","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_u32: reject invalid shift counts\n\nu32_match_it() executes rule-supplied shift operands on a 32-bit\nvalue. A malformed u32 rule can provide a shift count of 32 or more,\ntriggering an undefined shift out-of-bounds during packet evaluation.\n\nValidate XT_U32_LEFTSH and XT_U32_RIGHTSH operands in\nu32_mt_checkentry() and reject malformed rules before they reach the\npacket path."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"ca7c92d9701249e6daf132087756a88cbf2bb2a3","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"b33b44250d57ab0e5a1e2571b5285fb0d0a7f382","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"728f479dc0447ae7eaef87926ff49142e415a811","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"0a8b7a6d763775709c601f584e709ae48bcc000a","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"cce42014415cecd98aa49b3950e7b02ee7c81268","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"a597a722fb71a534138c20359b655726622b5f17","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"00d034fe8230dfc5832fe011ff2d81c1a2cc7a29","versionType":"git"},{"version":"1b50b8a371e90a5e110f466e4ac02cf6b5f681de","status":"affected","lessThan":"64cdf7d30ac18e43df6c48004435febb965809a8","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_u32.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.23","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.23","versionType":"semver"},{"version":"5.10.261","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.97","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.40","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_u32.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/ca7c92d9701249e6daf132087756a88cbf2bb2a3"},{"url":"https://git.kernel.org/stable/c/b33b44250d57ab0e5a1e2571b5285fb0d0a7f382"},{"url":"https://git.kernel.org/stable/c/728f479dc0447ae7eaef87926ff49142e415a811"},{"url":"https://git.kernel.org/stable/c/0a8b7a6d763775709c601f584e709ae48bcc000a"},{"url":"https://git.kernel.org/stable/c/cce42014415cecd98aa49b3950e7b02ee7c81268"},{"url":"https://git.kernel.org/stable/c/a597a722fb71a534138c20359b655726622b5f17"},{"url":"https://git.kernel.org/stable/c/00d034fe8230dfc5832fe011ff2d81c1a2cc7a29"},{"url":"https://git.kernel.org/stable/c/64cdf7d30ac18e43df6c48004435febb965809a8"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Malicious xt_u32 match rules are installed via IPT_SO_SET_REPLACE setsockopt or nftables NFNetlink (nft_compat match); per kernel CNA guidance netfilter/xtables rule setup is Local even though installed rules evaluate on ingress/egress packets through ipt_do_table.\nAC:L - The attacker fully controls XT_U32_LEFTSH/RIGHTSH shift operands (>=32) in matchinfo and can send triggering packets through the hooked netfilter chain; no race or uncontrollable victim state is required.\nPR:L - Installing xt_u32 iptables/nftables rules requires CAP_NET_ADMIN, obtainable by unprivileged users in user/network namespaces via unshare -Urn; ip_tables.c and nfnetlink enforce ns_capable/netlink_net_capable against the namespace user_ns.\nUI:N - The attacker installs the malicious u32 match rule and generates matching traffic in their namespace; no separate victim action (opening files, mounting media, clicking links) is needed.\nS:U - Undefined shift during xt_u32 packet matching and any resulting kernel crash remain within the host kernel security authority; this is standard local kernel compromise, not a VM escape or sandbox boundary crossing.\nC:H - Undefined-behavior shifts on packet-derived u32 values corrupt val and @ offset accumulation, driving attacker-influenced skb_copy_bits reads at unintended offsets; per CNA guidance exploitable kernel memory-unsafe arithmetic warrants High confidentiality.\nI:H - Invalid shift counts corrupt val/at control flow in the u32_match_it hot path; C11 undefined behavior in kernel netfilter matching is exploitable for integrity compromise and potential code execution per CNA memory-corruption guidance.\nA:H - Evaluating a malformed xt_u32 rule with shift>=32 triggers undefined shift-out-of-bounds during packet matching; vulnerable kernels also BUG() on skb_copy_bits failure, provoking kernel panic/oops during rule evaluation."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:43:07.758Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.23","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72350","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T18:47:46.235964Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:55:19.841Z"}}]}}}