{"id":"CVE-2026-72347","state":"PUBLISHED","title":"netfilter: xt_connmark: reject invalid shift parameters","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_connmark: reject invalid shift parameters\n\nRevision 2 of the CONNMARK target accepts user-controlled shift\nparameters and applies them to 32-bit mark values in\nconnmark_tg_shift().\n\nA shift_bits value of 32 or more triggers an undefined-shift bug when\nthe rule is evaluated. Invalid shift_dir values are also accepted and\nsilently fall back to the left-shift path.\n\nReject invalid revision-2 shift parameters in connmark_tg_check() so\nmalformed rules fail at installation time, before they can reach the\npacket path.","publishedAt":"2026-08-15T05:55:51.665Z","updatedAt":"2026-10-16T18:55:19.565Z","severity":{"score":7.3,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"d8ce63d928b457fba7ed1e302492dfd32293671c","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"9657bb11a6376ab0a79f05d433713d6944111e9d","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"8ace320ac4416f5e5fbcd065309fb2dfcce787b0","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"c3fa852d117b3fda72265e4230e3967db4a74fcf","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"4eef84b09a3836919360c4232b0f16651a155eec","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"230173cc6105bdfb2696d37e6e56687b003fbe63","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"1b47026fb4b35bac850ad6e8a4ad7fc018e09ebc","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_connmark.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.17","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_connmark.c"]}],"references":["https://git.kernel.org/stable/c/d8ce63d928b457fba7ed1e302492dfd32293671c","https://git.kernel.org/stable/c/9657bb11a6376ab0a79f05d433713d6944111e9d","https://git.kernel.org/stable/c/8ace320ac4416f5e5fbcd065309fb2dfcce787b0","https://git.kernel.org/stable/c/c3fa852d117b3fda72265e4230e3967db4a74fcf","https://git.kernel.org/stable/c/4eef84b09a3836919360c4232b0f16651a155eec","https://git.kernel.org/stable/c/230173cc6105bdfb2696d37e6e56687b003fbe63","https://git.kernel.org/stable/c/1b47026fb4b35bac850ad6e8a4ad7fc018e09ebc"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72347.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72347","state":"PUBLISHED","datePublished":"2026-08-15T05:55:51.665Z","dateUpdated":"2026-10-16T18:55:19.565Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.920Z"},"containers":{"cna":{"title":"netfilter: xt_connmark: reject invalid shift parameters","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnetfilter: xt_connmark: reject invalid shift parameters\n\nRevision 2 of the CONNMARK target accepts user-controlled shift\nparameters and applies them to 32-bit mark values in\nconnmark_tg_shift().\n\nA shift_bits value of 32 or more triggers an undefined-shift bug when\nthe rule is evaluated. Invalid shift_dir values are also accepted and\nsilently fall back to the left-shift path.\n\nReject invalid revision-2 shift parameters in connmark_tg_check() so\nmalformed rules fail at installation time, before they can reach the\npacket path."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"d8ce63d928b457fba7ed1e302492dfd32293671c","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"9657bb11a6376ab0a79f05d433713d6944111e9d","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"8ace320ac4416f5e5fbcd065309fb2dfcce787b0","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"c3fa852d117b3fda72265e4230e3967db4a74fcf","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"4eef84b09a3836919360c4232b0f16651a155eec","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"230173cc6105bdfb2696d37e6e56687b003fbe63","versionType":"git"},{"version":"472a73e00757b971d613d796374d2727b2e4954d","status":"affected","lessThan":"1b47026fb4b35bac850ad6e8a4ad7fc018e09ebc","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/netfilter/xt_connmark.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.17","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_connmark.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d8ce63d928b457fba7ed1e302492dfd32293671c"},{"url":"https://git.kernel.org/stable/c/9657bb11a6376ab0a79f05d433713d6944111e9d"},{"url":"https://git.kernel.org/stable/c/8ace320ac4416f5e5fbcd065309fb2dfcce787b0"},{"url":"https://git.kernel.org/stable/c/c3fa852d117b3fda72265e4230e3967db4a74fcf"},{"url":"https://git.kernel.org/stable/c/4eef84b09a3836919360c4232b0f16651a155eec"},{"url":"https://git.kernel.org/stable/c/230173cc6105bdfb2696d37e6e56687b003fbe63"},{"url":"https://git.kernel.org/stable/c/1b47026fb4b35bac850ad6e8a4ad7fc018e09ebc"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:H","baseScore":7.3,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - Malformed CONNMARK rev2 rules are installed via IPT_SO_SET_REPLACE setsockopt or nftables NFNetlink (nft_compat); per kernel CNA guidance netfilter/xtables rule setup is Local even though installed rules later evaluate on ingress/egress packets through ipt_do_table/ip6t_do_table.\nAC:L - The attacker fully controls shift_bits and shift_dir in xt_connmark_tginfo2 when installing the rev2 CONNMARK target and can send conntrack-tracked packets to reliably hit connmark_tg_shift(); no race, memory layout, or victim state outside attacker control is required.\nPR:L - Installing CONNMARK iptables/nftables rules requires CAP_NET_ADMIN in the target network namespace, obtainable by unprivileged users via unshare -Urn; ip_tables.c do_ipt_set_ctl() and nfnetlink.c nfnetlink_rcv() enforce ns_capable/netlink_net_capable against the namespace user_ns.\nUI:N - The attacker installs the malformed CONNMARK rev2 rule and generates matching conntrack-associated traffic in their namespace; no separate victim action such as opening files, mounting media, or clicking links is required.\nS:U - Undefined shift during xt_CONNMARK packet targeting and resulting mark corruption remain within the host kernel security authority; this is standard local kernel netfilter compromise, not a VM escape, IOMMU bypass, or sandbox boundary crossing.\nC:L - Undefined-behavior shifts on 32-bit mark values produce attacker-influenced unpredictable ct->mark and skb->mark results observable through conntrack netlink and mark-based iptables/nftables matches, leaking altered connection-classification state within the namespace.\nI:H - Invalid shift_bits or shift_dir corrupt connmark_tg_shift() output written to nf_conn->mark and skb->mark, subverting mark-dependent firewall, policy-routing, QoS, and multi-tenant container egress controls on cloud routers and internet-facing servers.\nA:H - Evaluating a malformed CONNMARK rev2 rule with shift_bits>=32 triggers C11 undefined-shift UB in connmark_tg_shift() during softirq netfilter processing; UBSAN-instrumented kernels panic on shift-out-of-bounds, and UB in the packet hot path can destabilize conntrack-driven forwarding."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:43:05.530Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.17","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72347","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T18:47:35.760331Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-16T18:55:19.565Z"}}]}}}