Vulnerabilidad de inyección de argumentos PHP 5.x en Windows (CVE-2024-4577)

Se ha revelado una nueva
vulnerabilidad de ejecución remota de código (RCE) de PHP para Windows, que
afecta a todas las versiones desde la versión 5.x
y podría afectar a una gran cantidad de servidores en todo el mundo porque ya
hay IOC disponibles.

La nueva falla de RCE identificada como CVE-2024-4577 fue
descubierta por el investigador principal de seguridad de Devcore, Orange Tsai, el 7 de mayo de 2024, quien lo informó a los desarrolladores
de PHP.

Los mantenedores del proyecto PHP lanzaron ayer un parche que soluciona la
vulnerabilidad.

Sin embargo, la aplicación de actualizaciones de seguridad en un proyecto con
una implementación a tan gran escala es complicada y podría dejar una cantidad
significativa de sistemas vulnerables a ataques durante períodos prolongados.

Desafortunadamente, cuando se revela una vulnerabilidad crítica que afecta a
muchos dispositivos, los investigadores y los actores de amenazas
inmediatamente comienzan a intentar encontrar sistemas vulnerables.

Tal es el caso de CVE-2024-4577, ya que
The Shadowserver Foundation ya ha detectado
múltiples direcciones IP escaneando en busca de servidores vulnerables.

La falla CVE-2024-4577

La falla CVE-2024-4577 es causada por un descuido en el manejo de las
conversiones de codificación de caracteres, específicamente la función
‘Best-Fit’ en Windows cuando PHP se usa en modo CGI.

“Mientras implementaba PHP, el equipo no notó la
función Best-Fit
de conversión de codificación dentro del sistema operativo Windows”, explica un aviso de DevCore.
“Esta supervisión permite a atacantes no autenticados eludir la protección
anterior de
CVE-2012-1823
mediante secuencias de caracteres específicas. Se puede ejecutar código
arbitrario en servidores PHP remotos mediante el ataque de inyección de
argumentos”.

Esta falla elude las protecciones que el equipo de PHP había implementado en
el pasado para CVE-2012-1823, que
fue explotada en ataques de malware
varios años después de su corrección.

Los analistas explican que incluso si PHP no está configurado en modo CGI,
CVE-2024-4577 aún podría ser explotable siempre que los ejecutables de PHP
(por ejemplo, php.exe o php-cgi.exe) estén en directorios a los
que pueda acceder el servidor web.

Debido a que esta es la configuración predeterminada también en XAMPP para
Windows, DEVCORE advierte que todas las instalaciones de XAMPP en Windows
probablemente sean vulnerables.

El problema empeora cuando se utilizan ciertas ubicaciones que son más
susceptibles a este error de conversión de codificación, incluidos el chino
tradicional, el chino simplificado y el japonés.

Como dice Devcore, la vulnerabilidad CVE-2024-4577 afecta a todas las
versiones de PHP para Windows, si está utilizando PHP 8.0 (End of Life), PHP 7.x (EoL) o PHP 5.x (EoL), necesita para actualizar a una versión más
reciente o utilizar las mitigaciones que se describen a continuación.

Estrategia de remediación

Aquellos que utilicen versiones de PHP compatibles deben actualizar a las
versiones que incorporan los parches: PHP 8.3.8, PHP 8.2.20 y PHP 8.1.29.

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 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

Los administradores pueden determinar si usan PHP-CGI usando la función
phpinfo() y verificando el valor “Server API ” en la salida.

DEVCORE también sugiere que los administradores de sistemas consideren
migrar de CGI a alternativas más seguras, como FastCGI, PHP-FPM y Mod-PHP.

Fuente:
BC

Leave Your Comment