Katalog CVE

CVE-2026-62992

ŚrednieCVSS 6.9
Opublikowano: Przetłumaczono: NVD NIST

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.

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