CVE-2015-8608
KrytyczneStreszczenie
Funkcje VDir::MapPathA i VDir::MapPathW w Perl 5.22 umożliwiają zdalnym atakującym wywołanie odmowy usługi (odczyt poza zakresem) oraz potencjalne wykonanie dowolnego kodu poprzez spreparowane argumenty (1) litera dysku lub (2) pInName.
Ocena ryzyka
Atakujący mogą wykorzystać tę podatność do zakłócenia działania systemu lub uruchomienia złośliwego kodu, co stanowi poważne zagrożenie dla bezpieczeństwa aplikacji.
Rekomendacja
Zaleca się aktualizację do najnowszej wersji Perla, aby usunąć tę podatność oraz monitorowanie systemu pod kątem nieautoryzowanych działań.
Inne podatności w Perl 5.22
Zobacz wszystkie- CVE-2016-1238Wysokie
Wersje Perl 5.x przed 5.22.3-RC2 oraz 5.24 przed 5.24.1-RC2 nieprawidłowo usuwają znaki '.' z końca tablicy katalogów include. Może to umożliwić lokalnym użytkownikom uzyskanie uprawnień za pomocą złośliwego modułu w bieżącym katalogu roboczym.
- CVE-2016-2381Wysokie
Perl może umożliwić atakującym, zależnie od kontekstu, ominięcie mechanizmu ochrony przed zanieczyszczeniem w procesie potomnym poprzez duplikowane zmienne środowiskowe w envp.
- CVE-2024-56406Wysokie
W Perlu odkryto podatność przepełnienia bufora sterty. Problem występuje w gałęziach wydań 5.34, 5.36, 5.38 i 5.40 oraz w wersjach rozwojowych od 5.33.1 do 5.41.10. Gdy w lewej stronie operatora `tr` znajdują się bajty spoza ASCII, funkcja `S_do_trans_invmap` może przepełnić bufor.
- CVE-2023-47038Wysokie
Podatność w Perlu 5.30.0 do 5.38.0 pozwala na przepełnienie bufora sterty podczas kompilacji spreparowanego wyrażenia regularnego. Atakujący może wykorzystać ten błąd do kontrolowanego przepełnienia bufora.
- CVE-2026-13221Krytyczne
Perl w wersjach przed 5.40.5-RC1, od 5.41.0 przed 5.42.3-RC1 oraz od 5.43.0 przed 5.43.10 generuje błędne wyniki dopasowania wyrażeń regularnych, gdy alternatywa zawierająca więcej niż 65535 stałych gałęzi jest kompilowana do trie w Perl_study_chunk. Przepełnienie 16-bitowego pola powoduje obcięcie tablicy decyzyjnej, co prowadzi do fałszywych dopasowań (pozytywnych i negatywnych).
- CVE-2026-8376Krytyczne
Perl w wersjach przed 5.40.5-RC1, od 5.41.0 przed 5.42.3-RC1 oraz od 5.43.0 przed 5.43.11 ma przepełnienie bufora sterty podczas kompilacji wyrażeń regularnych z powtarzanym stałym ciągiem znaków na buildach 32-bitowych. Błąd w Perl_study_chunk w regcomp_study.c sprawdzał rozmiar bufora w znakach zamiast w bajtach, co prowadzi do zbyt małej alokacji i zapisu poza buforem.
- CVE-2026-19487Średnie
Perl w wersjach od 5.9.4 do przed 5.41.9 generuje nieprawidłowe wyniki dopasowania wyrażeń regularnych, gdy nieaktualna flaga błędu kończy przedwcześnie prescan Aho-Corasick w S_find_byclass. Może to prowadzić do pominięcia dopasowań lub dopasowania na złej gałęzi.
- CVE-2026-15534Średnie
Podatność w silniku wyrażeń regularnych Perla (do wersji 5.45.1) powoduje odczyty i zapisy poza pamięcią podczas dopasowywania wzorca. Problem wynika z przepełnienia licznika w pamięci podręcznej superlinearnej, co prowadzi do zbyt małej alokacji i późniejszego dostępu poza jej granice.
- CVE-2026-57432Wysokie
W wersjach Perla przed 5.40.5-RC1, od 5.41.0 przed 5.42.3-RC1 oraz od 5.43.0 przed 5.43.11 występuje przepełnienie liczby całkowitej w funkcji S_measure_struct, prowadzące do odczytu poza zakresem sterty w operacjach pack i unpack. Duża liczba powtórzeń w szablonie może spowodować zawinięcie sumy do wartości ujemnej, co umożliwia przesunięcie wskaźnika bufora poza dozwolony obszar. Szablon pochodzący z niezaufanego źródła może doprowadzić do odczytu pamięci sterty poza buforem i zwrócenia jej do wywołującego.
- CVE-1999-1386Średnie
Perl w wersji 5.004_04 i wcześniejszych podąża za linkami symbolicznymi podczas uruchamiania z opcją -e, co pozwala lokalnym użytkownikom na nadpisywanie dowolnych plików poprzez atak symlink na plik /tmp/perl-eaXXXXX.
Oryginalny opis (angielski, źródło NVD)
The VDir::MapPathA and VDir::MapPathW functions in Perl 5.22 allow remote attackers to cause a denial of service (out-of-bounds read) and possibly execute arbitrary code via a crafted (1) drive letter or (2) pInName argument.

