Description
In the Linux kernel, the following vulnerability has been resolved: xsk: clear metadata pointer when no timestamp is requested User space can change metadata flags after request processing. Rereading them during completion can therefore make the kernel write a timestamp that was not requested when the packet was submitted. Clear the metadata pointer during request processing unless timestamp completion is requested. Completion handling can then use the pointer itself instead of rereading the flags. On the mlx5 multi-packet WQE path metadata is evaluated per batch: xsk_tx_metadata_request() runs only for the descriptor that starts a session, just like the checksum offload that is applied once through the shared WQE. Only that descriptor's pointer is reset, so completion handling can record a timestamp for the other descriptors of the session regardless of their own XDP_TXMD_FLAGS_TIMESTAMP bit. The write stays inside the metadata area; the single-WQE, other zero-copy, and generic paths reset the pointer per descriptor and are unaffected.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 to < 0ba2e1eb07a826d021344e2f146b6716c58139ebaffectedca4419f15abd19ba8be1e109661b60f9f5b6c9f0 to < eb4c613d4ebc3f664e70d572b8867ba114a8754eaffectedca4419f15abd19ba8be1e109661b60f9f5b6c9f0 to < 9f60a67df8d3c862503bee62bada8e7089cba438affectedd9d736c416c9a85f84e15435ba82a177262e745baffected6.14.2 to < 6.15affected
Linux Linux
Default version status: affected
6.15affected0 to < 6.15unaffected6.18.45 to ≤ 6.18.*unaffected7.1.9 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected