CRITICAL🇬🇧 English

CVE-2026-28783

Craft CMS: obejście bloklisty PHP w silniku Twig umożliwia RCE

CVSS 9.4v4.0pub. 2026-03-04upd. 2026-03-05

Craft CMS implementuje bloklistę niebezpiecznych funkcji PHP wywoływanych przez szablony Twig, jednak lista ta jest niekompletna. Umożliwia to uwierzytelnionym użytkownikom z odpowiednimi uprawnieniami wykonanie dowolnego kodu, odczyt plików, SSRF lub SSTI.

Pokaż oryginał (EN)

Craft is a content management system (CMS). Prior to 5.9.0-beta.1 and 4.17.0-beta.1, Craft CMS implements a blocklist to prevent potentially dangerous PHP functions from being called via Twig non-Closure arrow functions. In order to be able to successfully execute this attack, you need to either have allowAdminChanges enabled on production, or a compromised admin account, or an account with access to the System Messages utility. Several PHP functions are not included in the blocklist, which could allow malicious actors with the required permissions to execute various types of payloads, including RCEs, arbitrary file reads, SSRFs, and SSTIs. This vulnerability is fixed in 5.9.0-beta.1 and 4.17.0-beta.1.

🤖 Analiza AI
Jak działa

Craft CMS stosuje mechanizm bloklisty (blocklist) do filtrowania potencjalnie niebezpiecznych funkcji PHP, które mogą być wywołane za pośrednictwem tzw. non-Closure arrow functions w silniku szablonów Twig. Luka polega na tym, że blokada jest niekompletna — część funkcji PHP nie została uwzględniona na liście zabronionych. Atakujący z dostępem do panelu administracyjnego (np. z włączoną opcją allowAdminChanges w środowisku produkcyjnym, przejętym kontem administratora lub dostępem do narzędzia System Messages) może skonstruować odpowiedni payload w szablonie Twig i wywołać pominięte funkcje PHP. Podatność dotyczy zarówno gałęzi 5.x, jak i 4.x systemu Craft CMS.

Skutki

Atakujący z wymaganymi uprawnieniami może wykonać dowolny kod po stronie serwera (RCE), odczytać dowolne pliki systemu, przeprowadzić atak SSRF lub SSTI, co w efekcie może prowadzić do pełnego przejęcia kontroli nad systemem i danymi.

Mitygacja

Należy zaktualizować Craft CMS do wersji 5.9.0-beta.1 lub 4.17.0-beta.1. Dodatkowo, jeśli nie jest to konieczne, zaleca się wyłączenie opcji allowAdminChanges w środowiskach produkcyjnych oraz ograniczenie liczby kont z dostępem do narzędzia System Messages i panelu administracyjnego.

Kogo dotyczy

Craft CMS w wersjach poprzedzających 5.9.0-beta.1 oraz 4.17.0-beta.1

Uwagi

Atak wymaga posiadania konta z podwyższonymi uprawnieniami (administrator lub dostęp do System Messages) albo włączonej opcji allowAdminChanges w środowisku produkcyjnym. Szczegóły techniczne oraz patch dostępne są w repozytorium GitHub projektu (pull request #18208 oraz advisory GHSA-5fvc-7894-ghp4).

CVSS 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/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:X
  • Craftcms Craft Cms

    APP
    Craftcms
    4.0.05.0.0< 4.17.0< 5.9.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
SSRF
CWE
Referencje

Powiązane podatności

CVE-2025-32432CRITICAL10.0⚠ KEVPL ✓ten sam produkt

Krytyczny RCE w Craft CMS — zdalne wykonanie kodu bez uwierzytelnienia

CVE-2024-56145CRITICAL9.3⚠ KEVPL ✓ten sam produkt

RCE w Craft CMS przez nieprawidłową konfigurację register_argc_argv

CVE-2026-28697CRITICAL9.4PL ✓ten sam produkt

Craft CMS: RCE przez SSTI w polach szablonów Twig

CVE-2024-37843CRITICAL9.8PL ✓ten sam produkt

SQL injection w Craft CMS przez endpoint GraphQL API

CVE-2023-41892CRITICAL10.0ten sam produkt

Craft CMS is a platform for creating digital experiences. This is a high-impact, low-complexity attack vector....