CVE-2026-46064
WysokieCVSS 7.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 7 - wyżej niż 7% wszystkich znanych CVE
Streszczenie
W jądrze systemu Linux zidentyfikowano podatność w funkcji ibmasm_send_i2o_message(), która może prowadzić do nadmiernego odczytu pamięci w stercie. Użytkownik z uprawnieniami root może wykorzystać niezweryfikowane pola nagłówka, co skutkuje odczytem danych poza przydzielonym obszarem pamięci.
Ocena ryzyka
Podatność ta może prowadzić do ujawnienia wrażliwych danych w jądrze oraz destabilizacji działania procesora serwisowego, co może wpłynąć na integralność systemu.
Rekomendacja
Zaleca się walidację wartości command_size przed wywołaniem get_mfa_inbound() oraz ograniczenie jej do I2O_COMMAND_SIZE przed operacją memcpy_toio(), aby zapobiec nadmiernemu odczytowi pamięci.
Oryginalny opis (angielski, źródło NVD)
In the Linux kernel, the following vulnerability has been resolved: ibmasm: fix heap over-read in ibmasm_send_i2o_message() The ibmasm_send_i2o_message() function uses get_dot_command_size() to compute the byte count for memcpy_toio(), but this value is derived from user-controlled fields in the dot_command_header (command_size: u8, data_size: u16) and is never validated against the actual allocation size. A root user can write a small buffer with inflated header fields, causing memcpy_toio() to read up to ~65 KB past the end of the allocation into adjacent kernel heap, which is then forwarded to the service processor over MMIO. Silently clamping the copy size is not sufficient: if the header fields claim a larger size than the buffer, the SP receives a dot command whose own header is inconsistent with the I2O message length, which can cause the SP to desynchronize. Reject such commands outright by returning failure. Validate command_size before calling get_mfa_inbound() to avoid leaking an I2O message frame: reading INBOUND_QUEUE_PORT dequeues a hardware frame from the controller's free pool, and returning without a corresponding set_mfa_inbound() call would permanently exhaust it. Additionally, clamp command_size to I2O_COMMAND_SIZE before the memcpy_toio() so the MMIO write stays within the I2O message frame, consistent with the clamping already performed by outgoing_message_size() for the header field.

