Encontraron una vulnerabilidad en el servidor http Apache
Hace poco se dio a conocer la noticia de que se encontró un nuevo vector de ataque contra el servidor http Apache, que permaneció sin parches en la actualización 2.4.50 y permite el acceso a archivos desde áreas fuera del directorio root del sitio.
Además, los investigadores han encontrado una manera de que, en presencia de ciertas configuraciones no estándar, no solo lean los archivos del sistema, sino que también ejecuten remotamente su código en el servidor.
CVE-2021-41773 en Apache HTTP Server 2.4.50 era insuficiente. Un atacante podría usar un ataque de recorrido de ruta para asignar URL a archivos fuera de los directorios configurados por directivas similares a Alias. Si los archivos fuera de estos directorios no están protegidos por la configuración predeterminada habitual «requieren todos denegados», estas solicitudes pueden tener éxito. Si los scripts CGI también están habilitados para estos parches con alias, esto podría permitir la ejecución remota de código. Este problema solo afecta a Apache 2.4.49 y Apache 2.4.50 y no a versiones anteriores.
En esencia, el nuevo problema (ya catalogado como CVE-2021-42013) es completamente similar a la vulnerabilidad original (CVE-2021-41773) en 2.4.49, la única diferencia está en una codificación de caracteres diferente.
Y es que en particular, en la versión 2.4.50 se bloqueó la posibilidad de utilizar la secuencia «% 2e» para codificar un punto, pero se perdió la posibilidad de una doble codificación: al especificar la secuencia «%% 32% 65», el servidor decodificado en «% 2e», y luego en «.», es decir Los caracteres «../» para ir al directorio anterior se pueden codificar como «. %% 32% 65 /».
Ambos CVE son de hecho casi la misma vulnerabilidad de recorrido de ruta (la segunda es la solución incompleta para la primera). El recorrido de la ruta solo funciona desde un URI mapeado (por ejemplo, a través de las directivas Apache «Alias» o «ScriptAlias»). DocumentRoot solo no es suficiente
En cuanto a la explotación de una vulnerabilidad a través de la ejecución de código, esto es posible si mod_cgi está habilitado y se utiliza una ruta base en la que se permite la ejecución de scripts CGI (por ejemplo, si la directiva ScriptAlias está habilitada o se especifica el indicador ExecCGI en la directiva Opciones).
Se menciona que un requisito previo para un ataque exitoso es también proporcionar explícitamente en la configuración de Apache acceso a directorios con archivos ejecutables, como / bin, o acceso a la raíz FS «/». Dado que normalmente no se proporciona dicho acceso, un ataque de ejecución de código es de poca utilidad para los sistemas reales.
RCE exploit both for Apache 2.4.49 (CVE-2021-41773) and 2.4.50 (CVE-2021-42013):
root@CT406:~# curl ‘http://192.168.0.191/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh’ –data ‘echo Content-Type: text/plain; echo; id’
uid=1(daemon) gid=1(daemon) groups=1(daemon)— ☠ Román Medina-Heigl Hernández (@roman_soft) October 7, 2021
Al mismo tiempo, el ataque a la obtención de contenido de archivos de sistema arbitrarios y textos fuente de scripts web que están disponibles para lectura para el usuario bajo el cual se ejecuta el servidor http sigue siendo relevante. Para llevar a cabo un ataque de este tipo, basta con tener un directorio en el sitio configurado utilizando las directivas «Alias» o «ScriptAlias» (DocumentRoot no es suficiente), como «cgi-bin».
Además de ello que menciona que el problema afecta principalmente a distribuciones continuamente actualizadas (Rolling Release) como lo son Fedora, Arch Linux y Gentoo, así como también a los ports de FreeBSD.
Mientras que las distribuciones de Linux que se basan en ramas estables de las distribuciones de servidor como lo son Debian, RHEL, Ubuntu y SUSE no son vulnerables. El problema no aparece si se deniega explícitamente el acceso a los directorios mediante la configuración » requerir todo denegado «.
También vale la pena mencionar que el 6 y 7 de octubre, Cloudflare registró más de 300 mil intentos de explotar la vulnerabilidad CVE-2021-41773 por día. La mayoría de las veces, como resultado de ataques automatizados, solicitan el contenido de «/cgi-bin/.%2e/.git/config», «/cgi-bin/.%2e/app/etc/local.xml», «/cgi-bin/.% 2e/app/etc/env.php» y «/cgi-bin/.%2e/%2e%2e/%2e%2e/etc/passwd».
El problema solo se manifiesta en las versiones 2.4.49 y 2.4.50, las versiones anteriores de la vulnerabilidad no se ven afectadas. Para corregir la nueva variante de la vulnerabilidad, se formó rápidamente el lanzamiento de Apache httpd 2.4.51.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.