{"id":"CVE-2026-53250","title":"xsk: cache csum_start/csum_offset to fix TOCTOU in xsk_skb_metadata()","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nxsk: cache csum_start/csum_offset to fix TOCTOU in xsk_skb_metadata()\n\nThe TX metadata area resides in the UMEM buffer which is memory-mapped\nand concurrently writable …","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < eb778aed8a9b2381668fcb1247ae4fa011224768","Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < 0dfe05b938435892875e07771170051346412df9","Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < bfdfd2706d5fb2cd496a1506e680daf979309c8b","Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < 22ba97ea9cc1f63a0d0244fae38057ed452b6ac7","Linux 6.8"],"published":"2026-06-25","updated":"2026-09-14","sourceUpdated":"2026-09-14T11:58:33.282Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-53250","references":[{"url":"https://git.kernel.org/stable/c/eb778aed8a9b2381668fcb1247ae4fa011224768"},{"url":"https://git.kernel.org/stable/c/0dfe05b938435892875e07771170051346412df9"},{"url":"https://git.kernel.org/stable/c/bfdfd2706d5fb2cd496a1506e680daf979309c8b"},{"url":"https://git.kernel.org/stable/c/22ba97ea9cc1f63a0d0244fae38057ed452b6ac7"}],"tags":["cve.org"],"epss":0.00104,"epssPercentile":0.00958,"ingestedAt":"2026-09-14T15:23:07.457Z","slug":"CVE-2026-53250","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nxsk: cache csum_start/csum_offset to fix TOCTOU in xsk_skb_metadata()\n\nThe TX metadata area resides in the UMEM buffer which is memory-mapped\nand concurrently writable by userspace. In xsk_skb_metadata(),\ncsum_start and csum_offset are read from shared memory for bounds\nvalidation, then read again for skb assignment. A malicious userspace\napplication can race to overwrite these values between the two reads,\nbypassing the bounds check and causing out-of-bounds memory access\nduring checksum computation in the transmit path.\n\nFix this by reading csum_start and csum_offset into local variables\nonce, then using the local copies for both validation and assignment.\n\nNote that other metadata fields (flags, launch_time) and the cached\ncsum fields may be mutually inconsistent due to concurrent userspace\nwrites, but this is benign: the only security-critical invariant is\nthat each field's validated value is the same one used, which local\ncaching guarantees.\n\n## Affected\n\n- `Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < eb778aed8a9b2381668fcb1247ae4fa011224768`\n- `Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < 0dfe05b938435892875e07771170051346412df9`\n- `Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < bfdfd2706d5fb2cd496a1506e680daf979309c8b`\n- `Linux >= 48eb03dd26304c24f03bdbb9382e89c8564e71df < 22ba97ea9cc1f63a0d0244fae38057ed452b6ac7`\n- `Linux 6.8`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}