CVE-2026-62996
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Smarty to silnik szablonów dla PHP. Od wersji 5.0.0 do 5.8.4 obsługa nazw zasobów stream: nie ograniczała odpowiednio, które wrappery strumieni PHP i łańcuchy filtrów mogą być używane w szablonie, co pozwalało na użycie nazwy zasobu opakowanej w php://filter do odczytu zawartości dowolnych lokalnych plików dostępnych dla procesu PHP. Atakujący, który może tworzyć lub wpływać na referencję zasobu w szablonie, może wykorzystać to do ujawnienia wrażliwych plików poza zamierzonym zakresem. Problem naprawiono w wersji 5.8.4.
Ocena ryzyka
Ryzyko obejmuje możliwość odczytu dowolnych plików lokalnych, co może prowadzić do ujawnienia wrażliwych danych, takich jak hasła, klucze czy konfiguracje. Może to być wykorzystane do dalszych ataków.
Rekomendacja
Zaleca się aktualizację Smarty do wersji 5.8.4 lub nowszej oraz ograniczenie możliwości autoryzacji szablonów tylko dla zaufanych źródeł. Należy również regularnie przeglądać szablony pod kątem podejrzanych referencji.
Inne podatności w Smarty
Zobacz wszystkie- CVE-2026-82531Wysokie
Smarty przed wersją 4.5.8 i 5.x przed 5.8.5 zawiera podatność na wstrzyknięcie kodu, gdzie nocache_hash nie jest przywracany podczas dziedziczenia szablonów extends:/multi-component, pozostając null. Atakujący może dostarczyć dane z fałszywym znacznikiem SmartyNocache, który jest kopiowany do pliku cache PHP, umożliwiając wykonanie dowolnego kodu PHP.
- CVE-2014-8350Wysokie
Smarty w wersjach przed 3.1.21 pozwala zdalnym atakującym na obejście ograniczeń trybu zabezpieczonego i wykonanie dowolnego kodu PHP, co zostało zademonstrowane przez użycie "{literal}<{/literal}script language=php>" w szablonie.
- CVE-2026-62993Średnie
Smarty to silnik szablonów dla PHP. Przed wersjami 4.5.7 i 5.8.2, obsługa {fetch} używała Security::isTrustedUri() tylko do walidacji początkowego adresu URL, a PHP domyślnie podążał za przekierowaniami HTTP. Atakujący z otwartym przekierowaniem na zaufanym hoście mógł przekierować żądanie do wewnętrznego punktu końcowego, omijając listę dozwolonych URI i wykonując SSRF.
- CVE-2026-62992Średnie
Smarty to silnik szablonów dla PHP. Przed wersją 5.8.2 (oraz 4.5.7 w linii 4.x) funkcja Security::_checkDir() nie w pełni rozwiązuje dowiązania symboliczne przed weryfikacją, czy żądana ścieżka znajduje się w skonfigurowanym bezpiecznym katalogu. Atakujący, który może umieścić lub odwołać się do dowiązania symbolicznego w katalogu uznawanym przez Smarty za zaufany (np. katalog szablonów lub konfiguracji), może wskazać poza zamierzony bezpieczny katalog, omijając kontrolę i odczytując dowolne pliki dostępne dla procesu PHP. Problem naprawiono w wersjach 5.8.2 i 4.5.7.
- CVE-2026-50745Średnie
W skrypcie stats-video.php brakuje sanityzacji danych wejściowych użytkownika. Adresy URL do tego skryptu nie były konstruowane zgodnie z najlepszymi praktykami, a wynik działania niestandardowej funkcji pomocniczej Smarty 'url' nie był odpowiednio kodowany ani sanityzowany, co pozwala na odbicie danych dostarczonych przez użytkownika bez ich escapowania.
Oryginalny opis (angielski, źródło NVD)
Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. From 5.0.0 until 5.8.4, Smarty's stream: resource-name handling does not adequately restrict which PHP stream wrappers and filter chains can be referenced from a template, allowing a php://filter-wrapped resource name to be used to read the contents of arbitrary local files accessible to the PHP process. An attacker able to author or influence a template's resource reference could exploit this to disclose sensitive file contents outside the intended template/config scope. This issue is fixed in version 5.8.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

