{"id":"CVE-2026-99079","title":"net/mlx5e: Prevent stale XSK buffer release on refill retry","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Prevent stale XSK buffer release on refill retry\n\nWhen an XDP redirect to an AF_XDP socket fails because its RX ring is\nfull, the XSK core frees the buffer. …","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 32bbb870078d467479965c21bbc4960c57eea208","Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 34d1db2b18e1c1d189e34dd51923e031815f88e3","Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 639522e5056cade578a324acfa993ec6c9f7f5dc","Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 655f47477054d19de3b138840be229a1a4490d0c","Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < e01620844c5c88b6fcf819d171df8e3976a0e76f","Linux 6.4"],"published":"2026-10-23","updated":"2026-10-24","sourceUpdated":"2026-10-24T14:10:21.247Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-99079","references":[{"url":"https://git.kernel.org/stable/c/32bbb870078d467479965c21bbc4960c57eea208"},{"url":"https://git.kernel.org/stable/c/34d1db2b18e1c1d189e34dd51923e031815f88e3"},{"url":"https://git.kernel.org/stable/c/639522e5056cade578a324acfa993ec6c9f7f5dc"},{"url":"https://git.kernel.org/stable/c/655f47477054d19de3b138840be229a1a4490d0c"},{"url":"https://git.kernel.org/stable/c/e01620844c5c88b6fcf819d171df8e3976a0e76f"}],"tags":["cve.org"],"epss":0.00455,"epssPercentile":0.39345,"ingestedAt":"2026-10-23T13:24:55.513Z","slug":"CVE-2026-99079","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet/mlx5e: Prevent stale XSK buffer release on refill retry\n\nWhen an XDP redirect to an AF_XDP socket fails because its RX ring is\nfull, the XSK core frees the buffer. During the subsequent batched refill\nof a legacy cyclic RQ, mlx5e also releases the WQE's XSK buffer before\nallocating a replacement. If that refill succeeds only partially, a WQE\nleft without a replacement retains its old buffer pointer.\n\nThe buffer can meanwhile be allocated to another WQE. A later refill\nretry can then free the live buffer through the stale pointer and publish\nthe same UMEM frame twice.\n\nMark the WQE as released immediately after the driver-side free. The flag\nis already cleared when a replacement buffer is assigned, so refill\nretries no longer release stale pointers.\n\nThe failure is silent and produces no kernel warning or splat. A\nstandalone legacy cyclic-RQ zero-copy libxsk reproducer, using 64-byte UDP\ntraffic offered at 12 Mpps, detected it: stock stopped after 2,854,914\npackets in 4.094 seconds, with 4,542 xdp_rx_ring_full events and 64\nownership/double-publication errors. With this change it processed\n356,904,225 packets in 30 seconds despite 571,405 xdp_rx_ring_full events,\nwith no ownership or data errors.\n\n## Affected\n\n- `Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 32bbb870078d467479965c21bbc4960c57eea208`\n- `Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 34d1db2b18e1c1d189e34dd51923e031815f88e3`\n- `Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 639522e5056cade578a324acfa993ec6c9f7f5dc`\n- `Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < 655f47477054d19de3b138840be229a1a4490d0c`\n- `Linux >= 3f93f82988bc6b4104314bf9aa485d47fbb7e241 < e01620844c5c88b6fcf819d171df8e3976a0e76f`\n- `Linux 6.4`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"midnight","depthScore":54,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[{"seq":228818,"id":"CVE-2026-99079","ts":1792854082441,"field":"cvss","old":null,"new":"9.8"},{"seq":228817,"id":"CVE-2026-99079","ts":1792854082441,"field":"severity","old":"none","new":"critical"}]}