Aviso de seguridad
Nivel de peligrosidad: Crítica
Descripción
La vulnerabilidad surge cuando como parte del procesamiento de Unicode, PHP aplica un mapeo de "Best-Fit" para reemplazar caracteres en la línea de comandos, permitiendo a un atacante que ejecute código PHP arbitrario en el servidor, identificado como CVE-2024-4577
Recursos afectados
Las versiones de PHP para Windows:
- PHP 8.1.* anteriores a 8.1.29
- PHP 8.2.* anteriores a 8.2.20
- PHP 8.3.* anteriores a 8.3.8
- PHP 8.0 (EoL)
- PHP 7.x (EoL)
- PHP 5.x (EoL)
Solución
Actualizar a las versiones que incorporan los parches:
- PHP 8.3.8
- PHP 8.2.20
- PHP 8.1.29
Recomendaciones
Para versiones 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 se usa XAMPP y no se necesita la función PHP CGI, se debe buscar la directiva 'ScriptAlias' en el archivo de configuración de Apache (normalmente en 'C:/xampp/apache/conf/extra/httpd-xampp.conf') y comentarlo.
Migrar de CGI a alternativas más seguras, como FastCGI, PHP-FPM y Mod-PHP.
Referencias