| CVE ID | CVE-2026-56391 |
| Data publikacji | 24 lipca 2026 |
| Producent podatnego oprogramowania | GNU |
| Nazwa podatnego oprogramowania | coreutils |
| Podatne wersje | Od 9.5 do 9.11 włącznie |
| Typ podatności (CWE) | Out-of-bounds Read (CWE-125) |
| Źródło zgłoszenia | Zgłoszenie do CERT Polska |
| CVE ID | CVE-2026-56392 |
| Data publikacji | 24 lipca 2026 |
| Producent podatnego oprogramowania | GNU |
| Nazwa podatnego oprogramowania | coreutils |
| Podatne wersje | Wszystkie do 9.11 włącznie |
| Typ podatności (CWE) | Heap-based Buffer Overflow (CWE-122) |
| Źródło zgłoszenia | Zgłoszenie do CERT Polska |
Opis podatności
CERT Polska otrzymał zgłoszenie o podatnościach w oprogramowaniu GNU coreutils i koordynował proces ujawniania informacji.
Podatność CVE-2026-56391: W narzędziu uniq z pakietu GNU coreutils zidentyfikowano podatność typu out-of-bounds read z powodu nieprawidłowej obsługi wielobajtowych danych wejściowych, gdy używana jest opcja -w (--check-chars). Funkcja find_field() błędnie oblicza długość w bajtach znaków, wielokrotnie przetwarzając stały wskaźnik zamiast przesuwać go wzdłuż danych wejściowych, co skutkuje zawyżoną wartością długości. Ta nieprawidłowa długość jest później używana w operacji memcmp, powodując odczyty poza przydzielonym buforem podczas przetwarzania spreparowanego wejścia wielobajtowego. Uruchomienie GNU coreutils uniq z argumentami dostarczonymi przez atakującego prowadzi do awarii programu i potencjalnego ujawnienia sąsiadującej pamięci sterty.
Problem ten został rozwiązany w commicie d64e35a8a4c0e4608321433e0d84d917e4e36371.
Podatność CVE-2026-56392: Narzędzie unexpand z pakietu GNU coreutils jest podatne na heap-based buffer overflow z powodu przepełnienia liczby całkowitej podczas alokacji bufora przy przetwarzaniu dużych wartości tab stop (-t). Mnożenie używane do obliczania rozmiaru alokacji może spowodować przepełnienie zmiennej, co skutkuje buforem o zbyt małym rozmiarze. Podczas przetwarzania spreparowanych danych wejściowych kolejne operacje zapisu przekraczają przydzieloną pamięć.
Uruchamianie GNU coreutils unexpand z dużymi argumentami tab stop (-t) dostarczonymi przez atakującego prowadzi do awarii programu i potencjalnie pozwala na osiągnięcie prymitywu zapisu na stercie w zależności od układu pamięci.
Ten problem został naprawiony w commicie b60a159fdc5bfcf9988d3a4cb6f53abe8ad5d35d.
Podziękowania
Za zgłoszenie podatności dziękujemy Michałowi Majchrowiczowi oraz Marcinowi Wyczechowskiemu z zespołu AFINE.
Więcej o procesie zgłaszania podatności można przeczytać na stronie https://cert.pl/cvd/.