mod_http3 v0.0.70 ha sido añadido al repositorio de CodeIT. Los paquetes se han compilado para RHEL, CentOS, AlmaLinux, Rocky Linux y Oracle Linux 7, 8, 9 y 10, y para Ubuntu 22.04 y 24.04.
Esta actualización corrige vulnerabilidades de seguridad. Se recomienda actualizar.
Cambios principales:
- Se ha anunciado una tabla dinámica QPACK, dimensionada por H3QpackTableCapacity y H3QpackBlockedStreams, para que los encabezados de las solicitudes se compriman igual que sobre HTTP/2.
- El pool de workers de las solicitudes ahora es configurable con H3MinWorkers, H3MaxWorkers y H3MaxWorkerIdleSeconds en lugar de un número fijo de 16 a 64 hilos.
- Se ha añadido H3StreamTimeout: un cliente que deja de leer ya no puede aparcar un worker de solicitudes hasta que desaparezca.
- Se ha añadido H3MaxStreamErrors: se cierra una conexión cuyo cliente sigue enviando solicitudes malformadas en lugar de responderle para siempre.
- Se ha publicado el entorno TLS de mod_ssl (SSL_PROTOCOL, SSL_CIPHER y similares) para solicitudes HTTP/3, que mod_ssl no gestiona.
- Se ha añadido H3SessionTickets, para que un operador pueda controlar si los clientes que vuelven reanudan la sesión en lugar de ejecutar un handshake completo.
- Se ha añadido H3SocketBufferSize, para que el socket QUIC ya no descarte datagramas de un búfer de recepción del sistema operativo insuficiente cuando la conexión va a toda velocidad.
- Se aplica H3IdleTimeout en el event loop del módulo, de modo que una conexión sin solicitudes se cierra en lugar de mantenerse abierta mediante pings de keepalive de QUIC.
- Se rechaza una solicitud HTTP/3 malformada con un error de stream en lugar de cerrar la conexión, para que las solicitudes en curso junto a ella sobrevivan.
- Se compila con httpd 2.4.x, además de trunk; los buckets de respuesta y el hook child_stopped ahora se eligen en tiempo de compilación.
- Se detecta el httpd stable o devel en configure y se retrotrae el graceful drain al branch 2.4.x.
Vulnerabilidades corregidas:
- SECURITY: Se ha actualizado el submodule de httpd para que mpm_event tolere una conexión que nunca aceptó, terminando con el crash del hijo al servir un ErrorDocument por HTTP/3.
- SECURITY: Se aplican LimitRequestFields y LimitRequestFieldSize a HTTP/3, para que el cliente ya no pueda hacer crecer la memoria de un stream con encabezados sin límite.
