La firma de ciberseguridad DEVCORE ha descubierto una vulnerabilidad crítica en el lenguaje de programación PHP, ampliamente utilizado en el ecosistema web. Esta vulnerabilidad podría permitir a atacantes no autenticados tomar control total de los servidores PHP afectados.
Es necesario destacar que actualmente existe una PoC disponible para esta vulnerabilidad.
- CVE-2024-4577 (CVSS: 9.8): Esta vulnerabilidad crítica radica en un error en la función de conversión de codificación Best-Fit en sistemas operativos Windows durante la implementación de PHP. Permite a los atacantes eludir protecciones de vulnerabilidades previas (CVE-2012-1823) mediante secuencias de caracteres específicas, resultando en la ejecución arbitraria de código en servidores PHP a través de un ataque de inyección de argumentos, lo que permite el acceso y control no autorizado.
Productos y versiones afectadas:
- PHP para Windows: Todas las versiones anteriores a 8.3.8, 8.2.20 y 8.1.29.
- Apache XAMPP: Todas las versiones afectadas.
También son vulnerables las versiones PHP 8.0, PHP 7.x y PHP 5.x, las cuales ya no disponen de soporte.
Solución:
- PHP ha lanzado parches para las versiones afectadas el 6 de junio de 2024. Las versiones corregidas son 8.3.8, 8.2.20 y 8.1.29.
- Apache XAMPP aún no ha publicado actualizaciones.
Workaround
Para sistemas que no se pueden actualizar inmediatamente y usuarios de versiones EoL, se recomienda aplicar una regla mod_rewrite para bloquear ataques, como la siguiente:
- RewriteEngine On
- RewriteCond %{QUERY_STRING} ^%ad [NC]
- RewriteRule .? – [F,L]
Si usa XAMPP y no necesita la función PHP CGI, busque la directiva ‘ScriptAlias’ en el archivo de configuración de Apache (normalmente en ‘C:/xampp/apache/conf/extra/httpd-xampp.conf’) y coméntelo.
Los administradores pueden determinar si usan PHP-CGI usando la función phpinfo() y verificando el valor Server API en la salida.
Recomendaciones:
- Actualizar PHP a las versiones 8.3.8, 8.2.20 y 8.1.29 para solucionar esta vulnerabilidad.
- Ajustar la configuración de XAMPP comentando la directiva ScriptAlias en el archivo httpd-xampp.conf.
- Migrar de CGI a alternativas más seguras, como FastCGI, PHP-FPM y Mod-PHP
- Revisar y fortalecer la configuración del servidor para asegurar que no existan configuraciones predeterminadas vulnerables.
Referencias:
- https://www.bleepingcomputer.com/news/security/php-fixes-critical-rce-flaw-impacting-all-versions-for-windows/
- https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/
- https://securityonline.info/cve-2024-4577-critical-php-vulnerability-exposes-millions-of-servers-to-rce/
- https://securityonline.info/researchers-detail-critical-php-flaw-cve-2024-4577-with-poc-exploit-code/
- https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/