CVE-2026-54063
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 44 - wyżej niż 44% wszystkich znanych CVE
Streszczenie
Biblioteka Excelize dla języka Go przed wersją 2.11.0 zawiera podatność polegającą na braku walidacji atrybutu XML <row r="N"> w funkcji checkSheet(). Atakujący może dostarczyć specjalnie spreparowany plik XLSX, który powoduje alokację ogromnej ilości pamięci (do 16 GB) lub wywołuje panic z powodu indeksowania poza zakresem, prowadząc do odmowy usługi (DoS).
Ocena ryzyka
Organizacja narażona jest na ataki DoS, które mogą unieruchomić usługę przetwarzającą pliki XLSX od nieuwierzytelnionych użytkowników, co prowadzi do przerwania działania aplikacji i potencjalnych strat finansowych.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę excelize do wersji 2.11.0 lub nowszej. W międzyczasie zaleca się ograniczenie dostępu do funkcji otwierania plików XLSX tylko dla zaufanych źródeł.
Inne podatności w excelize
Zobacz wszystkie- CVE-2026-59162Wysokie
Biblioteka Excelize dla języka Go przed wersją 2.11.0 zawiera podatność polegającą na braku walidacji dolnej granicy indeksu podczas parsowania wartości komórek typu shared-string. Specjalnie spreparowany plik XLSX z wartością -1 może spowodować odwołanie poza zakres tablicy i panic podczas odczytu przez GetCellValue lub GetRows.
- CVE-2026-59161Wysokie
Biblioteka Excelize dla języka Go przed wersją 2.11.0 nie egzekwuje limitu TotalRows dla atrybutu r w wierszach podczas strumieniowego odczytu arkusza. Atakujący może dostarczyć mały plik XLSX z numerem wiersza powyżej 1048576, co powoduje dodawanie pustych wierszy i nadmierne zużycie pamięci oraz CPU.
Oryginalny opis (angielski, źródło NVD)
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, the checkSheet() function in github.com/xuri/excelize/v2 uses an attacker-controlled <row r="N"> XML attribute value directly as the length argument to make([]xlsxRow, row) without validating it against the Excel row limit (TotalRows = 1,048,576). A specially crafted XLSX file can trigger two denial-of-service variants: (A) an out-of-memory process kill when r=2147483647 forces a ~16 GB allocation attempt, and (B) a runtime panic via out-of-bounds slice indexing when r=-1. Any service that opens attacker-supplied XLSX files and calls GetCellValue is affected. No authentication is required. This issue is fixed in version 2.11.0.

