CVE-2026-62992
ŚrednieCVSS 6.9Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 30 - wyżej niż 30% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko obejmuje możliwość odczytu dowolnych plików lokalnych, co może prowadzić do ujawnienia wrażliwych danych. Może to być wykorzystane do dalszych ataków, zwłaszcza jeśli atakujący ma możliwość umieszczania plików w katalogach zaufanych.
Rekomendacja
Zaleca się aktualizację Smarty do wersji 5.8.2 lub 4.5.7 (lub nowszych) oraz ograniczenie możliwości umieszczania plików w katalogach szablonów i konfiguracji tylko dla zaufanych użytkowników. Należy również regularnie sprawdzać katalogi pod kątem nieoczekiwanych dowiązań symbolicznych.
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-62996Średnie
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.
- 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. Prior to 5.8.2 (and 4.5.7 on the 4.x line), Security::_checkDir() does not fully resolve symbolic links before validating that a requested path lies within a configured secure directory. An attacker able to place or reference a symlink within a directory Smarty treats as trusted (e.g., a template or config directory) could use it to point outside the intended secure directory, bypassing the containment check and reading arbitrary files accessible to the PHP process. This issue is fixed in versions 5.8.2 and 4.5.7.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

