CVE-2021-42013: path traversal en Apache 2.4.50, comprobar y corregir
Última actualización:
Apache HTTP Server 2.4.50 corrigió CVE-2021-41773, pero no del todo: codificando el punto dos veces (%%32%65, donde %32 es 2 y %65 es e) se seguía saliendo de las carpetas mapeadas. Afecta a 2.4.49 y 2.4.50, con los mismos resultados: archivos fuera del document root y ejecución de código donde CGI está activado.
Apache lo corrigió en 2.4.51, publicada tres días después de 2.4.50.
De un vistazo
- CVE
- CVE-2021-42013
- Software
- Apache HTTP Server
- Versiones afectadas
- 2.4.49 y 2.4.50
- Corregida en
- 2.4.51
- Puntuación CVSS
- 9.8 Crítica (NVD, CVSS 3.1) ·
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CISA Known Exploited Vulnerabilities
- Sí, añadida el 3 de noviembre de 2021
- Publicada por NVD
- 7 de octubre de 2021
- Parche virtual de InfraFence
vp-cve-2021-42013(ModSecurity id 9920002)
Qué está afectado
Solo Apache 2.4.49 y 2.4.50. Igual que con CVE-2021-41773, los archivos quedan expuestos donde <Directory /> no mantiene el Require all denied predeterminado, y se ejecuta código donde mod_cgi o mod_cgid sirve una carpeta con alias como /cgi-bin/.
Comprobar si un servidor es vulnerable
Comprueba la versión:
apache2 -vhttpd -v/usr/local/apache2/bin/httpd -vEn 2.4.49 o 2.4.50, comprueba que la raíz del sistema de archivos deniega el acceso y si hay un módulo CGI cargado:
sudo grep -rn -A3 '<Directory />' /etc/apache2/ /etc/httpd/ /usr/local/apache2/conf/ 2>/dev/nullsudo apachectl -M 2>/dev/null | grep -i cgiLos intentos dejan puntos codificados en los logs de acceso:
sudo grep -rhiE '\.%2e/|%2e\./|%2e%2e/|%%32%65|\.%%32' --include='*access*' --exclude='*.gz' /var/log/apache2 /var/log/httpd 2>/dev/null | tail -20Corregirlo
Actualiza a 2.4.51 o posterior (la actualización reinicia Apache: elige un momento tranquilo):
sudo apt-get update
sudo apt-get install --only-upgrade apache2
apache2 -vsudo dnf upgrade httpd
httpd -vRecompila una instalación desde el código fuente con la versión 2.4 actual, o descarga una imagen de contenedor nueva. Mantén cerrada la raíz del sistema de archivos y recarga:
<Directory />
AllowOverride None
Require all denied
</Directory>sudo apachectl configtest && sudo apachectl gracefulAtención: Peticiones con éxito (estado 200) con puntos doblemente codificados en los logs significan que pueden haberse leído archivos y, con CGI, ejecutado comandos: investiga el servidor antes de volver a confiar en él.
Cómo la bloquea InfraFence mientras actualizas
El parche virtual para CVE-2021-42013 es una regla ModSecurity sobre la ruta sin procesar de la petición: bloquea el punto doblemente codificado (%%32%65, %%32e, .%%32, %2%65). Aplícalo junto con el parche para CVE-2021-41773, que bloquea la forma con codificación simple.
Cómo se aplica el parche
- El agente anota qué puertos SSH y qué sitios responden.
- Escribe la regla (id de ModSecurity 9920002) entre sus propios marcadores en su archivo de ModSecurity, ejecuta
apachectl configtesty recarga Apache de forma ordenada. Si la prueba falla, vuelve a poner el archivo anterior. - Comprueba que SSH y los sitios siguen respondiendo, y quita el parche si no es así.
- Comprueba que ModSecurity bloquea de verdad con la regla, con una petición de prueba local inofensiva. Un ModSecurity en
DetectionOnlysolo registra: en ese caso el parche se quita y se notifica como ineficaz, nunca como aplicado.
Cada petición que bloquea el parche se notifica con CVE-2021-42013 (agente 1.0.37 o posterior): ves los intentos en la actividad del servidor y en la página Explotación del panel, así sabes que están probando la vulnerabilidad contra ti.
Atención: Un parche virtual bloquea la forma conocida del ataque en las peticiones que pasan por Apache en ese servidor. No sustituye a la actualización: instala la versión corregida y después quita el parche desde Actividad con Deshacer si ya no lo necesitas.
Los parches virtuales necesitan Apache con ModSecurity, el ajuste Permitir cambios en la configuración del servidor web y ningún panel de hosting ni herramienta de gestión de la configuración a cargo del servidor web; forman parte del plan Pro y de AutoMode. Los aplica una persona desde el análisis con IA, o AutoMode. Consulta Parches virtuales.
Fuentes
Los datos de esta página vienen de estas fuentes; consúltalas por si hay cambios.
Pruébalo gratis en 1 servidor
Starter es gratuito para un servidor, con protección completa y bloqueo automático. Sin tarjeta de crédito.
Instala el agente como root, con tu token en lugar de <TOKEN>:
curl -fsSL https://github.com/infrafence/infrafence-agent/releases/latest/download/install.sh | sudo bash -s -- --token <TOKEN>El token se crea en el panel, en Servidores › Añadir servidor.
