{"id":"CVE-2026-72057","state":"PUBLISHED","title":"net/sched: act_ct: preserve tc_skb_cb across defragmentation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: act_ct: preserve tc_skb_cb across defragmentation\n\ntcf_ct_handle_fragments() calls nf_ct_handle_fragments() without saving\nand restoring skb->cb. The defrag helper clears IPCB/IP6CB, which aliases\nthe tc_skb_cb/qdisc_skb_cb control buffer. Fragmented traffic through\nact_ct therefore loses qdisc metadata such as pkt_segs and can trigger\nWARN_ON_ONCE() in qdisc_pkt_segs() when panic_on_warn is enabled.\n\nSave and restore the full tc_skb_cb around nf_ct_handle_fragments(),\nmatching the pattern used by ovs_ct_handle_fragments().","publishedAt":"2026-08-15T05:52:12.873Z","updatedAt":"2026-10-19T21:19:25.539Z","severity":{"score":8.2,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0d76daf2013ce1da20eab5e26bd81d983e1c18fb","status":"affected","lessThan":"fb080b6f54835d5d4d11ce3122800e6f0f6689e6","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"67d6b00a54446c008f52cf70fc0c2ad0c712f85d","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"2400c4b05d58834b994500a9eec90a37db44187c","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"5c3ae5f6c7c6de73ea9b6a75154fe4ed343e1bac","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"b3d835407846134b0d54637c0281b39bebef831d","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"f7f45ceb855d9ba1cba594fb3f383255f7013fad","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"9092e15defbe6c7bc241c306093ca9d358a578e7","versionType":"git"},{"version":"5.15.13","status":"affected","lessThan":"5.15.217","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sched/act_ct.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.16","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","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/sched/act_ct.c"]}],"references":["https://git.kernel.org/stable/c/fb080b6f54835d5d4d11ce3122800e6f0f6689e6","https://git.kernel.org/stable/c/67d6b00a54446c008f52cf70fc0c2ad0c712f85d","https://git.kernel.org/stable/c/2400c4b05d58834b994500a9eec90a37db44187c","https://git.kernel.org/stable/c/5c3ae5f6c7c6de73ea9b6a75154fe4ed343e1bac","https://git.kernel.org/stable/c/b3d835407846134b0d54637c0281b39bebef831d","https://git.kernel.org/stable/c/f7f45ceb855d9ba1cba594fb3f383255f7013fad","https://git.kernel.org/stable/c/9092e15defbe6c7bc241c306093ca9d358a578e7"],"weaknesses":["CWE-662"],"ingestedAt":"2026-10-29T20:12:58.252Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/72xxx/CVE-2026-72057.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-72057","state":"PUBLISHED","datePublished":"2026-08-15T05:52:12.873Z","dateUpdated":"2026-10-19T21:19:25.539Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-08-09T03:40:39.903Z"},"containers":{"cna":{"title":"net/sched: act_ct: preserve tc_skb_cb across defragmentation","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: act_ct: preserve tc_skb_cb across defragmentation\n\ntcf_ct_handle_fragments() calls nf_ct_handle_fragments() without saving\nand restoring skb->cb. The defrag helper clears IPCB/IP6CB, which aliases\nthe tc_skb_cb/qdisc_skb_cb control buffer. Fragmented traffic through\nact_ct therefore loses qdisc metadata such as pkt_segs and can trigger\nWARN_ON_ONCE() in qdisc_pkt_segs() when panic_on_warn is enabled.\n\nSave and restore the full tc_skb_cb around nf_ct_handle_fragments(),\nmatching the pattern used by ovs_ct_handle_fragments()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0d76daf2013ce1da20eab5e26bd81d983e1c18fb","status":"affected","lessThan":"fb080b6f54835d5d4d11ce3122800e6f0f6689e6","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"67d6b00a54446c008f52cf70fc0c2ad0c712f85d","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"2400c4b05d58834b994500a9eec90a37db44187c","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"5c3ae5f6c7c6de73ea9b6a75154fe4ed343e1bac","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"b3d835407846134b0d54637c0281b39bebef831d","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"f7f45ceb855d9ba1cba594fb3f383255f7013fad","versionType":"git"},{"version":"ec624fe740b416fb68d536b37fb8eef46f90b5c2","status":"affected","lessThan":"9092e15defbe6c7bc241c306093ca9d358a578e7","versionType":"git"},{"version":"5.15.13","status":"affected","lessThan":"5.15.217","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sched/act_ct.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.16","versionType":"semver"},{"version":"5.15.217","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.184","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/sched/act_ct.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/fb080b6f54835d5d4d11ce3122800e6f0f6689e6"},{"url":"https://git.kernel.org/stable/c/67d6b00a54446c008f52cf70fc0c2ad0c712f85d"},{"url":"https://git.kernel.org/stable/c/2400c4b05d58834b994500a9eec90a37db44187c"},{"url":"https://git.kernel.org/stable/c/5c3ae5f6c7c6de73ea9b6a75154fe4ed343e1bac"},{"url":"https://git.kernel.org/stable/c/b3d835407846134b0d54637c0281b39bebef831d"},{"url":"https://git.kernel.org/stable/c/f7f45ceb855d9ba1cba594fb3f383255f7013fad"},{"url":"https://git.kernel.org/stable/c/9092e15defbe6c7bc241c306093ca9d358a578e7"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H","baseScore":8.2,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:N - The bug fires in tcf_ct_act() on the packet datapath (sch_handle_ingress/egress → tc_run → tcf_classify) when IP fragments arrive; on OVN/Kubernetes/SDN gateways and mlx5 offload nodes with act_ct already installed, a remote peer triggers it by sending fragmented traffic with no local access.\nAC:L - The attacker fully controls fragment boundaries and ordering; nf_ct_handle_fragments() memset of IPCB/IP6CB that aliases tc_skb_cb runs deterministically on each matching fragment through the configured ct action without races or memory-layout dependencies.\nPR:N - Installing act_ct requires CAP_NET_ADMIN, but triggering the bug on an already-configured internet-facing or tenant-facing gateway needs no target credentials; a remote attacker only sends crafted IP fragments, matching CNA precedent for packet-driven act_ct issues (e.g., CVE-2023-52610).\nUI:N - Exploitation requires only attacker-generated fragmented packets reaching a host with act_ct on clsact/ingress; no victim login, mount, or other interactive action is needed.\nS:U - WARN/panic and corrupted qdisc/tc metadata occur entirely within the host kernel security domain; this is not a VM escape, sandbox breakout, or IOMMU boundary bypass.\nC:N - memset(IPCB/IP6CB) zeroes tc_skb_cb/qdisc_skb_cb fields in place without out-of-bounds read or use-after-free; no kernel memory contents are disclosed to the attacker, only skb control-block metadata is clobbered.\nI:L - Clearing pkt_segs, pkt_len, post_ct, and zone corrupts tc/qdisc state consumed by bstats_update, sch_cake/sch_qfq, and cls_flower zone matching, enabling attacker-driven mis-accounting and mis-handling of packets on the affected path.\nA:H - Zeroed pkt_segs makes qdisc_pkt_segs() hit DEBUG_NET_WARN_ON_ONCE when it disagrees with GSO segment count; with panic_on_warn enabled this kernel-panics the host, and the condition is repeatable with sustained fragmented traffic."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-23T12:46:36.427Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.13","versionEndExcluding":"5.15.217"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"6.1.184"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"6.12.97"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"6.18.40"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-72057","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-10-16T15:51:06.438816Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-662","lang":"en","type":"CWE","description":"CWE-662 Improper Synchronization"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T21:19:25.539Z"}}]}}}