Plugin Formie do Craft CMS umożliwiał nieuwierzytelnionym użytkownikom wstrzyknięcie złośliwego kodu Twig poprzez ukryte pola formularza (Hidden fields). W zależności od konfiguracji szablonów i zachowania sandbox, podatność mogła prowadzić do poważnego naruszenia bezpieczeństwa witryny.
▸ Pokaż oryginał (EN)
Formie is a Craft CMS plugin for creating forms. Prior to 2.2.20 and 3.1.24, unauthenticated users could submit crafted values into Hidden fields (with Default value → Custom) that were evaluated as Twig during submission handling, which could lead to serious compromise of the Craft site (depending on template/sandbox behavior). This vulnerability is fixed in 2.2.20 and 3.1.24.
Pola ukryte (Hidden fields) w konfiguracji 'Default value → Custom' były ewaluowane jako szablony Twig podczas przetwarzania zgłoszenia formularza. Atakujący mógł spreparować żądanie HTTP zawierające złośliwy payload Twig w wartości takiego pola. Ponieważ weryfikacja nie blokowała odpowiednio zewnętrznych danych wejściowych przed ich interpretacją jako kod szablonu (CWE-94, CWE-1336), mechanizmy ochronne zostały ominięte (CWE-693), a serwer wykonywał dowolny kod przekazany przez napastnika.
Nieuwierzytelniony atakujący mógł doprowadzić do zdalnego wykonania kodu (RCE) na serwerze lub uzyskać dostęp do poufnych danych aplikacji, co w konsekwencji umożliwia pełne przejęcie kontroli nad witryną opartą na Craft CMS.
Należy zaktualizować plugin Formie do wersji 2.2.20 (gałąź 2.x) lub 3.1.24 (gałąź 3.x), w których podatność została naprawiona. Patche dostępne są w referencjach producenta na GitHub.
Plugin Formie do Craft CMS w wersjach wcześniejszych niż 2.2.20 (gałąź 2.x) oraz wcześniejszych niż 3.1.24 (gałąź 3.x)
Podatność dotyczy wyłącznie formularzy z polami ukrytymi skonfigurowanymi jako 'Default value → Custom'. Faktyczne skutki ataku mogą zależeć od konfiguracji sandbox silnika Twig w danej instalacji Craft CMS.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H