Katalog CVE

CVE-2026-98145

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux w sterowniku accel/amdxdna łańcuch poleceń z command_count równym zero przechodzi sprawdzanie długości ładunku, a pętla wypełniania się nie wykonuje. Na firmware bez AIE2_NPU_COMMAND żądanie jest odrzucane, ale na firmware z aie2_get_npu_chain_msg_op() trafia do drm_clflush_virt_range(cmd_buf, 0), co powoduje odczyt bajtu przed buforem i błąd na stronie ochronnej vmap.

Ocena ryzyka

Każdy proces mogący otworzyć węzeł renderujący może wywołać błąd jądra (odmowa usługi) poprzez przesłanie łańcucha poleceń bez poleceń.

Rekomendacja

Zaktualizuj jądro Linux do wersji z poprawką odrzucającą łańcuch poleceń o zerowej liczbie poleceń przed dalszym przetwarzaniem.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

In the Linux kernel, the following vulnerability has been resolved: accel/amdxdna: reject a command chain that carries no commands A chain whose command_count is zero passes the payload length check, because struct_size(payload, data, 0) is just the header. The fill loop then does not run, so offset stays zero and the request is submitted with a zero-length buffer. On firmware without AIE2_NPU_COMMAND that ends at the opcode check, since op is still ERT_INVALID_CMD and aie2_get_chain_msg_op() answers MSG_OP_MAX_OPCODE. aie2_get_npu_chain_msg_op() answers MSG_OP_CHAIN_EXEC_NPU whatever it is given, so there the submission continues to drm_clflush_virt_range(cmd_buf, 0), which reads the byte before the buffer and faults on the vmap guard page. EXEC_CMD is reachable by any process that can open the render node. Reject the request instead.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS