{"id":"CVE-2026-43238","state":"PUBLISHED","title":"net/sched: act_skbedit: fix divide-by-zero in tcf_skbedit_hash()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: act_skbedit: fix divide-by-zero in tcf_skbedit_hash()\n\nCommit 38a6f0865796 (\"net: sched: support hash selecting tx queue\")\nadded SKBEDIT_F_TXQ_SKBHASH support. The inclusive range size is\ncomputed as:\n\nmapping_mod = queue_mapping_max - queue_mapping + 1;\n\nThe range size can be 65536 when the requested range covers all possible\nu16 queue IDs (e.g. queue_mapping=0 and queue_mapping_max=U16_MAX).\nThat value cannot be represented in a u16 and previously wrapped to 0,\nso tcf_skbedit_hash() could trigger a divide-by-zero:\n\nqueue_mapping += skb_get_hash(skb) % params->mapping_mod;\n\nCompute mapping_mod in a wider type and reject ranges larger than U16_MAX\nto prevent params->mapping_mod from becoming 0 and avoid the crash.","publishedAt":"2026-05-06T11:28:32.950Z","updatedAt":"2026-05-11T22:20:40.634Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"59809fda4da7730cfe84a948033f47eb45db073d","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"9c735a7d98c982a786b0db71eb6566ee00aaa04f","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"015cebdfcb97b5347fb7f598ea712a281cb35840","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"4ece5eb4836f8ff03b9004dc2430a7169f282851","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"3c2b95b26860bd6f8e2310d31ea1200d3f8f173e","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"be054cc66f739a9ba615dba9012a07fab8e7dd6f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sched/act_skbedit.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.19","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.16","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.6","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","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_skbedit.c"]}],"references":["https://git.kernel.org/stable/c/59809fda4da7730cfe84a948033f47eb45db073d","https://git.kernel.org/stable/c/9c735a7d98c982a786b0db71eb6566ee00aaa04f","https://git.kernel.org/stable/c/015cebdfcb97b5347fb7f598ea712a281cb35840","https://git.kernel.org/stable/c/4ece5eb4836f8ff03b9004dc2430a7169f282851","https://git.kernel.org/stable/c/3c2b95b26860bd6f8e2310d31ea1200d3f8f173e","https://git.kernel.org/stable/c/be054cc66f739a9ba615dba9012a07fab8e7dd6f"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:57.932Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/43xxx/CVE-2026-43238.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-43238","state":"PUBLISHED","datePublished":"2026-05-06T11:28:32.950Z","dateUpdated":"2026-05-11T22:20:40.634Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-05-01T14:12:55.995Z"},"containers":{"cna":{"title":"net/sched: act_skbedit: fix divide-by-zero in tcf_skbedit_hash()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: act_skbedit: fix divide-by-zero in tcf_skbedit_hash()\n\nCommit 38a6f0865796 (\"net: sched: support hash selecting tx queue\")\nadded SKBEDIT_F_TXQ_SKBHASH support. The inclusive range size is\ncomputed as:\n\nmapping_mod = queue_mapping_max - queue_mapping + 1;\n\nThe range size can be 65536 when the requested range covers all possible\nu16 queue IDs (e.g. queue_mapping=0 and queue_mapping_max=U16_MAX).\nThat value cannot be represented in a u16 and previously wrapped to 0,\nso tcf_skbedit_hash() could trigger a divide-by-zero:\n\nqueue_mapping += skb_get_hash(skb) % params->mapping_mod;\n\nCompute mapping_mod in a wider type and reject ranges larger than U16_MAX\nto prevent params->mapping_mod from becoming 0 and avoid the crash."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"59809fda4da7730cfe84a948033f47eb45db073d","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"9c735a7d98c982a786b0db71eb6566ee00aaa04f","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"015cebdfcb97b5347fb7f598ea712a281cb35840","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"4ece5eb4836f8ff03b9004dc2430a7169f282851","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"3c2b95b26860bd6f8e2310d31ea1200d3f8f173e","versionType":"git"},{"version":"38a6f0865796e26fc38fff4858f681d9ae76fa0f","status":"affected","lessThan":"be054cc66f739a9ba615dba9012a07fab8e7dd6f","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/sched/act_skbedit.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.19","versionType":"semver"},{"version":"6.1.165","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.128","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.75","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.16","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.6","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","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_skbedit.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/59809fda4da7730cfe84a948033f47eb45db073d"},{"url":"https://git.kernel.org/stable/c/9c735a7d98c982a786b0db71eb6566ee00aaa04f"},{"url":"https://git.kernel.org/stable/c/015cebdfcb97b5347fb7f598ea712a281cb35840"},{"url":"https://git.kernel.org/stable/c/4ece5eb4836f8ff03b9004dc2430a7169f282851"},{"url":"https://git.kernel.org/stable/c/3c2b95b26860bd6f8e2310d31ea1200d3f8f173e"},{"url":"https://git.kernel.org/stable/c/be054cc66f739a9ba615dba9012a07fab8e7dd6f"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T22:20:40.634Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.1.165"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.6.128"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.12.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.18.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"6.19.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.19","versionEndExcluding":"7.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}