Se ha publicado la versión 2.4.58 del servidor HTTP Apache, que incluye 33 cambios y corrige tres vulnerabilidades, dos de las cuales están relacionadas con la posibilidad de realizar un ataque DoS en sistemas que utilizan el protocolo HTTP/2.
- CVE-2023-45802 — condiciones que permiten el agotamiento de memoria libre debido a la liberación tardía de memoria después de restablecer un flujo HTTP/2 con un paquete con la bandera RST. Dado que la memoria no se libera inmediatamente después de procesar la bandera RST, sino solo después de cerrar la conexión, un atacante puede aumentar considerablemente el consumo de memoria enviando nuevas solicitudes y restableciéndolas con un paquete RST, sin cerrar la conexión.
- CVE-2023-43622 — bloqueo infinito del procesamiento de conexiones HTTP/2 si se abrió con un tamaño inicial de ventana deslizante establecido en 0. La vulnerabilidad puede ser utilizada para causar una denegación de servicio agotando el límite máximo de conexiones abiertas.
- CVE-2023-31122 — vulnerabilidad en mod_macro que permite la lectura de datos fuera del búfer asignado.
Entre los cambios no relacionados con la seguridad:
- En mod_http2 se ha añadido soporte para el uso del protocolo WebSocket sobre el flujo en conexiones HTTP/2 (RFC 8441). Para habilitar WebSocket sobre HTTP/2, se ha propuesto la directiva ‘H2WebSockets on|off’.
- En mod_http2 se ha añadido la directiva ‘H2EarlyHint name value’ para agregar encabezados a la respuesta ‘103 Early Hints’.
- En mod_http2 se ha añadido la directiva ‘H2ProxyRequests on|off’ para gestionar la habilitación del procesamiento de solicitudes a través del protocolo HTTP/2 en la configuración del proxy.
- En mod_http2 se ha añadido la directiva ‘H2MaxDataFrameLen n’ para limitar el tamaño máximo del cuerpo de la respuesta en bytes, que se transmite en un solo marco DATA en HTTP/2. Por defecto, se establece un límite de 16KB.
- Se ha actualizado el archivo mime.types, donde la extensión ‘.js’ se ha vinculado al tipo ‘text/javascript’ en lugar de ‘application/javascript’ y se han añadido las extensiones: ‘.mjs’ (con el tipo ‘text/javascript’) y ‘.opus’ (‘audio/ogg’). Se han añadido tipos MIME y extensiones utilizadas en WebAssembly.
- El módulo mod_tls (alternativa a mod_ssl en Rust) se ha migrado a utilizar la biblioteca rustls-ffi 0.9.2+.
- En el módulo mod_md se ha añadido la directiva ‘MDMatchNames all|servernames’ para gestionar la coincidencia de MDomains con el contenido de VirtualHosts.
- En el módulo mod_md se ha añadido la directiva ‘MDChallengeDns01Version’ para seleccionar la versión del protocolo ACME utilizado en la verificación a través de DNS.
- En mod_md se permite el uso de la directiva MDChallengeDns01 para individuales. dominios.
- En mod_dav se ha añadido la directiva 'DavBasePath' para configurar la ruta a la raíz del repositorio WebDav.
- En mod_alias se ha añadido la directiva 'AliasPreservePath' para utilizar como ruta completa el valor de Alias en el bloque Location.
- En mod_alias se ha añadido la directiva 'RedirectRelative', que permite redireccionamientos utilizando rutas relativas.
- Se han añadido los especificadores de formato %{z} y %{strftime-format} a la directiva ErrorLogFormat.
- En mod_deflate se ha añadido la directiva 'DeflateAlterETag' para gestionar el cambio de ETag al utilizar compresión.
- Se ha optimizado el rendimiento de la función send_brigade_nonblocking().
- En mod_status se ha asegurado la eliminación de duplicados de las claves 'BusyWorkers' e 'IdleWorkers', y se ha añadido un nuevo contador 'GracefulWorkers'.
Fuente: opennet.ru
