CVE-2026-49146
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
Podatność w narzędziu App::Ack dla Perla przed wersją 3.10.0 pozwala na wyczerpanie pamięci poprzez nieograniczoną wartość kontekstu w pliku .ackrc projektu. Ack przeszukuje hierarchię katalogów w poszukiwaniu .ackrc i ładuje jego opcje, a opcje -B i -C akceptują dowolną dodatnią liczbę całkowitą, co może prowadzić do alokacji bufora o ogromnym rozmiarze.
Ocena ryzyka
Ryzyko polega na tym, że złośliwy plik .ackrc w nieufanym repozytorium może spowodować awarię narzędzia ack z powodu braku pamięci, co może zakłócić działanie systemu lub procesów CI/CD.
Rekomendacja
Zaleca się natychmiastową aktualizację App::Ack do wersji 3.10.0 lub nowszej, która zawiera poprawkę ograniczającą wartości kontekstu.
Inne podatności w App::Ack
Zobacz wszystkie- CVE-2026-49147Wysokie
Podatność w narzędziu App::Ack do wersji 3.10.0 dla Perla powoduje wyświetlanie niesanityzowanych sekwencji ucieczki terminala z nazw plików w kilku trybach wyjścia. Gdy ack wypisuje nazwę pliku zawierającą bajty sterujące terminala, takie jak sekwencje ANSI, trafiają one bez zmian do terminala. Wersja 3.10.0 dodała funkcję _safe_filename do sanityzacji nazw w trybach -f, -g, kolorowym nagłówku dopasowania i liniach per-match, ale ścieżki --show-types, -l/-L i -c nadal emitują surową nazwę pliku.
- CVE-2026-49145Wysokie
Podatność w narzędziu App::Ack dla Perla (do wersji 3.10.0) pozwala na odczyt dowolnych plików poprzez opcję --files-from w pliku .ackrc projektu. Ack przeszukuje hierarchię katalogów w poszukiwaniu .ackrc i ładuje jego opcje, a blokada opcji nie obejmuje --files-from, co umożliwia złośliwemu repozytorium odczyt plików poza projektem.
Oryginalny opis (angielski, źródło NVD)
App::Ack versions before 3.10.0 for Perl allow memory exhaustion via an unbounded context value in a project .ackrc. ack searches up the directory hierarchy from the current directory for a project .ackrc and loads its options. The -B and -C context options accepted any positive integer, and ack sized the before-context buffer to that value, so a project .ackrc setting --before-context=100000000 made ack allocate a buffer of 100 million elements. A project .ackrc committed to an untrusted repository can abort ack with an out-of-memory condition.

