Concrete CMS w wersji 9.5.0 i wcześniejszych nie oczyszcza sekwencji path traversal w polu ptComposerFormLayoutSetControlCustomTemplate, co w połączeniu z luźną walidacją rozszerzeń plików podczas uploadu umożliwia zdalne wykonanie kodu (RCE). Podatność jest krytyczna, ponieważ pozwala atakującemu na pełną kompromitację serwera.
▸ Pokaż oryginał (EN)
Concrete CMS 9.5.0 and below fails to sanitize path traversal sequences in the ptComposerFormLayoutSetControlCustomTemplate field when saving page type composer form layouts. An authenticated rogue administrator with composer form editing rights can exploit this to include arbitrary readable files on the server. Combined with the file uploader's extension-only validation (which permits PHP code in files saved with image extensions like .png), this can result in authenticated remote code execution. The Concrete CMS security team gave this vulnerability a CVSS v.4.0 score of 9.4 with vector CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H Thanks Yonatan Drori (Tenzai) for reporting.
Uwierzytelniony administrator z uprawnieniami do edycji formularzy composer może wstrzyknąć sekwencje path traversal (np. '../') do pola ptComposerFormLayoutSetControlCustomTemplate podczas zapisywania layoutów formularza strony. Mechanizm ten pozwala na dołączenie (include) dowolnego czytalnego pliku na serwerze. Ponieważ uploader plików weryfikuje jedynie rozszerzenie (a nie rzeczywistą zawartość), atakujący może wcześniej przesłać plik zawierający kod PHP zapisany z rozszerzeniem graficznym (np. .png), a następnie wymusić jego dołączenie przez podatne pole – co skutkuje wykonaniem złośliwego kodu PHP.
Atakujący może odczytać dowolne pliki dostępne dla procesu serwera WWW oraz wykonać dowolny kod na serwerze (RCE), co może prowadzić do pełnego przejęcia kontroli nad systemem i środowiskiem hostującym aplikację.
Należy zaktualizować Concrete CMS do wersji 9.5.1 lub nowszej zgodnie z informacjami producenta dostępnymi pod adresem: https://documentation.concretecms.org/9-x/developers/introduction/version-history/951-release-notes
Concrete CMS w wersji 9.5.0 i niższych
Podatność zgłosił Yonatan Drori (Tenzai). Wymagane jest uwierzytelnienie z uprawnieniami administratora do edycji formularzy composer, co nieznacznie ogranicza wektor ataku, jednak nie zmniejsza krytyczności skutków eksploitacji.
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XConcretecms Concrete Cms
APPConcretecms≤ 9.5.0
Powiązane podatności
Concrete CMS — nieautoryzowany dostęp przez nieprawidłowe uprawnienia katalogów
Concrete CMS — path traversal umożliwiający usunięcie dowolnych plików
Concrete CMS – pobieranie i wykonanie kodu z plików ZIP przez HTTP (RCE)
SSRF w Concrete CMS — ominięcie blokady localhost przez zapis dziesiętny IP
Path Traversal prowadzący do RCE w Concrete CMS przez external form