Katalog CVE

CVE-2026-89571

WysokieCVSS 7.1
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 5 - wyżej niż 5% wszystkich znanych CVE

Streszczenie

W jądrze Linux funkcja fwctl_cmd_rpc() kopiuje cmd->in_len bajtów do bufora, ale wywołanie zwrotne CXL cxlctl_fw_rpc() ignoruje in_len i nie sprawdza kontrolowanego przez użytkownika op_size. Przy małym in_len i dużym op_size pierwszy memcpy() czyta poza bufor, a dane są wysyłane do urządzenia; zbyt duży op_size może doprowadzić do oops jądra.

Ocena ryzyka

Podatność pozwala na odczyt poza granicami bufora jądra i potencjalne ujawnienie danych lub awarię systemu przez lokalnego użytkownika z dostępem do fwctl.

Rekomendacja

Zaktualizować jądro Linux do wersji, w której pojedynczy punkt dyspozycji odrzuca żądania, gdy stały nagłówek plus op_size nie mieszczą się w skopiowanym buforze.

Powiązane podatności

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

In the Linux kernel, the following vulnerability has been resolved: cxl/features: bound fwctl command payload to the input buffer fwctl_cmd_rpc() copies cmd->in_len bytes into inbuf = kvzalloc(cmd->in_len) and passes inbuf and in_len to ->fw_rpc(). The CXL callback cxlctl_fw_rpc() ignores in_len and never checks the user-controlled op_size against it. cxlctl_set_feature() bounds op_size only from below (op_size <= sizeof(feat_in->hdr)) and then reads op_size - sizeof(hdr) bytes from feat_in->feat_data via cxl_set_feature(). With a small in_len and a large op_size the first memcpy() already reads past the kvzalloc(in_len) buffer; the out-of-bounds bytes are placed in the mailbox payload and sent to the device, and a large enough op_size can walk into unmapped memory and oops the kernel. The Get paths pin op_size to a fixed size but likewise read the input struct without checking in_len. Reject, at the single dispatch point, any request whose fixed header plus op_size does not fit in the copied-in buffer. The lower-bound test guards the subtraction and ensures op_size was copied in before it is read.

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