{"api_version":"1","generated_at":"2026-06-21T20:16:51+00:00","cve":"CVE-2026-46331","urls":{"html":"https://cve.report/CVE-2026-46331","api":"https://cve.report/api/cve/CVE-2026-46331.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-46331","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-46331"},"summary":{"title":"net/sched: fix pedit partial COW leading to page cache corruption","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: fix pedit partial COW leading to page cache corruption\n\ntcf_pedit_act() computes the COW range for skb_ensure_writable()\nonce before the key loop using tcfp_off_max_hint, but the hint does\nnot account for the runtime header offset added by typed keys. This\ncan leave part of the write region un-COW'd.\n\nFix by moving skb_ensure_writable() inside the per-key loop where\nthe actual write offset is known, and add overflow checking on the\noffset arithmetic. For negative offsets (e.g. Ethernet header edits\nat ingress), use skb_cow() to COW the headroom instead. Guard\noffset_valid() against INT_MIN, where negation is undefined.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-06-16 08:16:23","updated_at":"2026-06-19 13:16:36"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/b198ed4e52580a7238c7c7082f03906f8b310313","name":"https://git.kernel.org/stable/c/b198ed4e52580a7238c7c7082f03906f8b310313","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/899ee91156e57784090c5565e4f31bd7dbffbc5a","name":"https://git.kernel.org/stable/c/899ee91156e57784090c5565e4f31bd7dbffbc5a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b","name":"https://git.kernel.org/stable/c/2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3dee9d0c198faeb95d052c1b94c2958751a28512","name":"https://git.kernel.org/stable/c/3dee9d0c198faeb95d052c1b94c2958751a28512","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-46331","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-46331","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8b796475fd7882663a870456466a4fb315cc1bd6 2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8b796475fd7882663a870456466a4fb315cc1bd6 b198ed4e52580a7238c7c7082f03906f8b310313 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8b796475fd7882663a870456466a4fb315cc1bd6 3dee9d0c198faeb95d052c1b94c2958751a28512 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8b796475fd7882663a870456466a4fb315cc1bd6 899ee91156e57784090c5565e4f31bd7dbffbc5a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected d0c38a914b0c4c21d553da801003d36979016726 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2ec2dd7d51a9320151f275ddbb2b53260fb32ca1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected abe35bf3be51482593076d516a680d79e5fbc8e1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected b773640d5bb9e2acfd91e2695717af04d47aa116 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected c19cc520b3d69904e9518d401ad0df7f4702aca0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.19.244 4.20 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.4.195 5.5 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.10.117 5.11 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.15.41 5.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.17.9 5.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.94 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.36 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0.13 7.0.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"46331","cve":"CVE-2026-46331","epss":"0.001570000","percentile":"0.051670000","score_date":"2026-06-20","updated_at":"2026-06-21 00:13:42"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["include/net/tc_act/tc_pedit.h","net/sched/act_pedit.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b","status":"affected","version":"8b796475fd7882663a870456466a4fb315cc1bd6","versionType":"git"},{"lessThan":"b198ed4e52580a7238c7c7082f03906f8b310313","status":"affected","version":"8b796475fd7882663a870456466a4fb315cc1bd6","versionType":"git"},{"lessThan":"3dee9d0c198faeb95d052c1b94c2958751a28512","status":"affected","version":"8b796475fd7882663a870456466a4fb315cc1bd6","versionType":"git"},{"lessThan":"899ee91156e57784090c5565e4f31bd7dbffbc5a","status":"affected","version":"8b796475fd7882663a870456466a4fb315cc1bd6","versionType":"git"},{"status":"affected","version":"d0c38a914b0c4c21d553da801003d36979016726","versionType":"git"},{"status":"affected","version":"2ec2dd7d51a9320151f275ddbb2b53260fb32ca1","versionType":"git"},{"status":"affected","version":"abe35bf3be51482593076d516a680d79e5fbc8e1","versionType":"git"},{"status":"affected","version":"b773640d5bb9e2acfd91e2695717af04d47aa116","versionType":"git"},{"status":"affected","version":"c19cc520b3d69904e9518d401ad0df7f4702aca0","versionType":"git"},{"lessThan":"4.20","status":"affected","version":"4.19.244","versionType":"semver"},{"lessThan":"5.5","status":"affected","version":"5.4.195","versionType":"semver"},{"lessThan":"5.11","status":"affected","version":"5.10.117","versionType":"semver"},{"lessThan":"5.16","status":"affected","version":"5.15.41","versionType":"semver"},{"lessThan":"5.18","status":"affected","version":"5.17.9","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["include/net/tc_act/tc_pedit.h","net/sched/act_pedit.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.18"},{"lessThan":"5.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.94","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.36","versionType":"semver"},{"lessThanOrEqual":"7.0.*","status":"unaffected","version":"7.0.13","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.94","versionStartIncluding":"5.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.36","versionStartIncluding":"5.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0.13","versionStartIncluding":"5.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1","versionStartIncluding":"5.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.244","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.195","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.117","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.41","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17.9","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: fix pedit partial COW leading to page cache corruption\n\ntcf_pedit_act() computes the COW range for skb_ensure_writable()\nonce before the key loop using tcfp_off_max_hint, but the hint does\nnot account for the runtime header offset added by typed keys. This\ncan leave part of the write region un-COW'd.\n\nFix by moving skb_ensure_writable() inside the per-key loop where\nthe actual write offset is known, and add overflow checking on the\noffset arithmetic. For negative offsets (e.g. Ethernet header edits\nat ingress), use skb_cow() to COW the headroom instead. Guard\noffset_valid() against INT_MIN, where negation is undefined."}],"providerMetadata":{"dateUpdated":"2026-06-19T12:00:28.128Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/2bec122b9fb91507a758ab5e3e5c4fbe7cb3f61b"},{"url":"https://git.kernel.org/stable/c/b198ed4e52580a7238c7c7082f03906f8b310313"},{"url":"https://git.kernel.org/stable/c/3dee9d0c198faeb95d052c1b94c2958751a28512"},{"url":"https://git.kernel.org/stable/c/899ee91156e57784090c5565e4f31bd7dbffbc5a"}],"title":"net/sched: fix pedit partial COW leading to page cache corruption","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-46331","datePublished":"2026-06-16T06:26:21.066Z","dateReserved":"2026-05-13T15:03:33.112Z","dateUpdated":"2026-06-19T12:00:28.128Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-06-16 08:16:23","lastModifiedDate":"2026-06-19 13:16:36","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"46331","Ordinal":"1","Title":"net/sched: fix pedit partial COW leading to page cache corruptio","CVE":"CVE-2026-46331","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"46331","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/sched: fix pedit partial COW leading to page cache corruption\n\ntcf_pedit_act() computes the COW range for skb_ensure_writable()\nonce before the key loop using tcfp_off_max_hint, but the hint does\nnot account for the runtime header offset added by typed keys. This\ncan leave part of the write region un-COW'd.\n\nFix by moving skb_ensure_writable() inside the per-key loop where\nthe actual write offset is known, and add overflow checking on the\noffset arithmetic. For negative offsets (e.g. Ethernet header edits\nat ingress), use skb_cow() to COW the headroom instead. Guard\noffset_valid() against INT_MIN, where negation is undefined.","Type":"Description","Title":"net/sched: fix pedit partial COW leading to page cache corruptio"}]}}}