Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 before 0ba2e1eb07a826d021344e2f146b6716c58139eb; affected ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 before eb4c613d4ebc3f664e70d572b8867ba114a8754e; affected ca4419f15abd19ba8be1e109661b60f9f5b6c9f0 before 9f60a67df8d3c862503bee62bada8e7089cba438; affected d9d736c416c9a85f84e15435ba82a177262e745b; affected 6.14.2 before 6.15 |
| Linux / Linux | affected 6.15; unaffected 0 before 6.15; unaffected 6.18.45 through 6.18.*; unaffected 7.1.9 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.