CVE-2026-75818
NiskieCVSS 1.8Streszczenie
GNU Aspell prezip-bin zawiera podatność przepełnienia bufora na stercie w dekompresorze w prog/prezip.c. Dekompresor nie sprawdza prawidłowo miejsca w buforze, więc spreparowany skompresowany plik może powodować operacje odczytu i zapisu poza zakresem na stercie. Atakujący, który przekona użytkownika do przetworzenia złośliwego skompresowanego pliku za pomocą prezip-bin, może wywołać uszkodzenie pamięci, prowadzące do awarii procesu.
Ocena ryzyka
Ryzyko obejmuje potencjalne uszkodzenie pamięci i awarię procesu, co może prowadzić do odmowy usługi lub w skrajnych przypadkach do wykonania dowolnego kodu.
Rekomendacja
Zaleca się aktualizację GNU Aspell do wersji 0.60.8.3 lub nowszej, która zawiera poprawkę. Należy unikać przetwarzania niezaufanych skompresowanych plików za pomocą prezip-bin do czasu aktualizacji.
Inne podatności w GNU Aspell
Zobacz wszystkie- CVE-2026-75820Niskie
GNU Aspell zawiera podatność typu integer truncation w funkcji WritableDict::add() w pliku modules/speller/default/writable.cpp. Przy wczytywaniu osobistej listy słów długość słowa jest zapisywana jako pojedynczy bajt, co powoduje obcięcie dla słów o długości będącej wielokrotnością 256 i prowadzi do uszkodzenia sterty. Atakujący może to wykorzystać, nakłaniając użytkownika do uruchomienia aspell ze spreparowaną osobistą listą słów zawierającą takie słowo, co skutkuje odmową usługi. Problem naprawiono w commicie 782ce94e4dc71eaec4ee1bd945eb3b9c47c5387d, który zostanie wydany w wersji 0.60.8.3.
- CVE-2026-75819Niskie
GNU Aspell zawiera podatność odczytu poza zakresem w funkcji ReadOnlyDict::load() w pliku readonly_ws.cpp. Podczas ładowania binarnego pliku słownika .rws, używa pól offsetu z nagłówka pliku jako indeksów bajtów w buforze sterty bez walidacji ich granic. Atakujący może to wykorzystać, przekonując użytkownika do uruchomienia aspell z spreparowanym plikiem słownika dostarczonym przez --master, --dict-dir lub opcje konfiguracyjne, co prowadzi do ujawnienia pamięci sterty lub odmowy usługi przez awarię aplikacji.
- CVE-2026-103658Średnie
GNU Aspell 0.60.8.2 (pierwsza podatna wersja nie jest znana) zawiera przepełnienie bufora sterty (CWE-122) w loaderze słownika tylko do odczytu. String::reserve() w common/string.hpp oblicza sprawdzenie pojemności za pomocą signed int ((int)s + 1), więc żądany rozmiar 0x7FFFFFFF zawija się na wartość ujemną i bufor nie jest powiększany. ReadOnlyDict::load() w modules/speller/default/readonly_ws.cpp przekazuje niezwalidowane 32-bitowe pola rozmiaru z nagłówka słownika .rws do tej ścieżki, więc spreparowany plik .rws z prawidłowym znacznikiem endian (12345678) i nadmiernym polem długości (np. lang_name_size = 0x7FFFFFFF) powoduje zapis danych kontrolowanych przez atakującego poza granicami zbyt małej alokacji sterty. Atakujący, który nakłoni ofiarę do załadowania złośliwego słownika — na przykład przez aspell dump master <file> — może uszkodzić pamięć sterty, powodując odmowę usługi i potencjalnie wykonanie kodu. Naprawiono w b830b6e i będzie naprawione w wersji 0.60.8.3.
Oryginalny opis (angielski, źródło NVD)
GNU Aspell prezip-bin contains a heap-based buffer overflow vulnerability in the decompressor in prog/prezip.c. The decompressor does not properly check buffer space, so a crafted compressed file can cause out-of-bounds read and write operations on the heap. An attacker who convinces a user to process a malicious compressed file with prezip-bin can trigger memory corruption, leading to a processs crash. This issue was fixed in commit 15b188437f9e0192d4ac4472ad66a4e2f62a782f which will be released in version 0.60.8.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

