10 de junio de 2024: Una vulnerabilidad de inyección de argumentos en PHP-CGI podría conducir a la ejecución remota de código
Compartir
11 de marzo de 2025 (actualización): A raíz de los informes generalizados de explotación masiva, hemos llevado a cabo una investigación sobre las instancias vulnerables recientemente expuestas. Nuestros hallazgos revelaron que 19.439 instancias están ejecutando versiones de PHP que siguen siendo potencialmente vulnerables al exploit.
Censys Consulta de búsqueda:
services.software: (product: PHP and (version: [8.3.0 to 8.3.7] or version: [8.2.0 to 8.2.19] or version: [8.1.0 to 8.1.28])) and operating_system.product: Windows
Censys Consulta ASM:
host.services.software: (product: PHP and (version: [8.3.0 to 8.3.7] or version: [8.2.0 to 8.2.19] or version: [8.1.0 to 8.1.28])) and host.operating_system.product: Windows
- Nombre y descripción del problema: Vulnerabilidad de inyección de argumentos PHP-CGI. Se trata de una vulnerabilidad crítica de inyección de argumentos en PHP que puede aprovecharse para lograr la ejecución remota de código (RCE) en los sistemas afectados.
- Fecha de publicación: 6 de junio de 2024
- CVE-ID y puntuación CVSS: CVE-2024-4577, Puntuación CVSS: 9.8 (Crítico)
- CWE: CWE-78 Neutralización incorrecta de elementos especiales utilizados en un comando OS
- Descripción del activo: La vulnerabilidad afecta a las instalaciones de PHP que se ejecutan en sistemas operativos Windows con PHP ejecutándose en modo CGI o exponiendo el binario PHP en las siguientes versiones:
- PHP 8.3 < 8.3.8
- PHP 8.2 < 8.2.20
- PHP 8.1 < 8.1.29
- Impacto de la vulnerabilidad: Una explotación exitosa de esta vulnerabilidad podría permitir a un atacante no autenticado ejecutar código arbitrario en el servidor PHP vulnerable, llevando a un compromiso completo del sistema.
- Detalles de la explotación: La vulnerabilidad es consecuencia de errores en las conversiones de codificación de caracteres, afectando específicamente a la función "Best Fit" en Windows. Permite a un atacante saltarse protecciones anteriores como CVE-2012-1823 a través de secuencias de caracteres específicas, permitiendo ataques de inyección de argumentos. Este problema no está actualmente en CISA KEV, aunque ShadowServer ha observado intentos de explotación en sus sensores(https://infosec.exchange/@shadowserver/112575314920464732).
- Disponibilidad del parche: Las versiones parcheadas 8.3.8, 8.2.20 y 8.1.29 fueron publicadas por PHP el 6 de junio de 2024 para solucionar esta vulnerabilidad: https://www.php.net/. La actualización a estas versiones es la solución recomendada. Para los sistemas que no puedan actualizarse inmediatamente, se ofrecen medidas de mitigación temporales como modificar las reglas de reescritura de Apache o deshabilitar la función PHP-CGI.
- Huella global: Censys observa alrededor de 458.800 exposiciones de instancias PHP potencialmente vulnerables a partir del 9 de junio de 2024 - aunque tenga en cuenta que esto es probablemente una sobreestimación del impacto real de esta vulnerabilidad, dado que no podemos detectar cuando el modo CGI está habilitado. La mayoría de estas exposiciones están geolocalizadas en Estados Unidos, seguido de Alemania.

Mapa de Censys-Instancias de PHP potencialmente vulnerables el 9 de junio de 2024 - Tenga en cuenta que esto no tiene en cuenta si CGI está habilitado o no (creado con kepler.gl)
- Detección con Censys: Las siguientes consultas pueden ser utilizadas para identificar todas las instancias públicas de PHP visibles en Censys. Tenga en cuenta que no podemos detectar si PHP está en modo CGI.
- Buscar consulta de exposición para todas las instancias públicas de PHP visibles en Censys que ejecuten versiones potencialmente vulnerables en Windows: services.software: (product: PHP y (versión: [8.3.0 a 8.3.7] o versión: [8.2.0 a 8.2.19] o versión: [8.1.0 a 8.1.28] o versión: [8.0.0 a 8.1.0] o versión: [7.0.0 a 8.0.0] o versión: [5.0.0 a 6.0.0])) y sistema_operativo.producto: Windows
- Consulta de exposición ASM para todas las instancias públicas de PHP visibles en Censys que ejecuten versiones potencialmente vulnerables en Windows: host.services.software: (product: PHP y (versión: [8.3.0 a 8.3.7] o versión: [8.2.0 a 8.2.19] o versión: [8.1.0 a 8.1.28] o versión: [8.0.0 a 8.1.0] o versión: [7.0.0 a 8.0.0] o versión: [5.0.0 a 6.0.0])) y host.sistema_operativo.producto: Windows
- Referencias:
- https://nvd.nist.gov/vuln/detail/CVE-2024-4577
- https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/
- https://github.com/watchtowrlabs/CVE-2024-4577
- https://www.tenable.com/blog/cve-2024-4577-proof-of-concept-available-for-php-cgi-argument-injection-vulnerability