Apache es un software de código abierto, desarrollado y mantenido por una comunidad de usuarios supervisada por la “Apache Software Foundation”, disponible para sistemas GNU/Linux, Microsoft Windows, Macintosh, entre otras. Jugó un papel fundamental en el desarrollo de las Word Wide Web (www) y hasta los días actuales, sigue siendo bastante utilizado para alojar millones de sitios web.
Recientemente Apache abordó múltiples vulnerabilidades en su software de servidores web que podría haber conducido potencialmente a la ejecución de código de forma arbitraria, y en escenarios específicos, incluso podría permitir a un actor malicioso causar una inhibición del software o una condición de denegación de servicio (DoS). Las fallas descubiertas por los investigadores de Google (Google Project Zero), son seguidas como CVE-2020-9490, CVE-2020-11984, CVE-2020-11993, y abordadas por la “Apache Software Foundation” en la última versión del software (2.4.46).
La primera vulnerabilidad (CVE-2020-11984) involucra una posible ejecución de código de forma remota (RCE) debido a un desbordamiento del búfer junto con el módulo “mod_uwsgi”, permitiendo a un actor malicioso ver, cambiar o eliminar datos confidenciales según los privilegios asociados a una de las aplicaciones que se ejecuta en el servidor. La descripción oficial de Apache dice, que una petición maliciosa puede resultar en una divulgación de información o en ejecución de código remoto de un archivo existente en el servidor ejecutándose en un entorno de un proceso malicioso.
La segunda vulnerabilidad (CVE-2020-11993) puede ser explotada cuando está habilitada la depuración en el módulo “mod_http2”, causando que se realicen declaraciones de registro de conexión incorrecta, resultando en una corrupción de la memoria, debido al uso simultáneo del grupo de registros.
La última vulnerabilidad (CVE-2020-9490) pero no menos importante, es la más severa de las tres, residiendo también en el módulo HTTP/2 (mod_http2), la cual puede ser explotada al utilizar un header especialmente diseñado “Cache-Digest” para provocar una corrupción en la memoria que pueda causar una inhibición del software y una condición de denegación del servicio (DoS).
El “Cache-Digest” es parte de una característica de optimización web, el cual es utilizado para abordar un problema con los paquetes PUSH del servidor, permite que un servidor envíe respuestas de forma preventiva a un software cliente, al permitir que los clientes informen al servidor de sus contenidos recién almacenados en el caché, esto con el fin de que no se desperdicie el ancho de banda, enviando los recursos que ya están en la memoria caché del cliente. Si se inyecta un valor especialmente diseñado en el encabezado “Cache-Digest” en una solicitud HTTP/2, se produciría un bloqueo en el momento que el servidor envíe un paquete PUSH en el header. Por eso, una mitigación para los servidores sin el último parche de seguridad es desactivar la función “HTTP/2 server push”.
Actualmente no se ha reportado que estas vulnerabilidades han sido anteriormente explotadas, pero es esencial realizar las pruebas de implementación e impacto y aplicar los parches de seguridad lo antes posible lanzados en la última actualización de Apache.
COMENTARIOS