Denegación de servicio en SCTP-Netfilter del núcleo Linux
Patrick McHardy ha informado, a través de las listas de distribución dedicadas al anuncio de nuevas versiones del núcleo Linux, la disponibilidad de una nueva versión en la rama 2.6.
Esta nueva versión, numerada como 2.6.16.13, ve la luz a consecuencia de la detección de un problema de seguridad diagnosticado en versiones anteriores de la rama, problema que podría facilitar enormemente la conducción de ataques de denegación de servicio sobre las máquinas con núcleos vulnerables.
La falla está causada por un error de diseño en el código de SCTP-netfilter, que en versiones sin actualizar no garantiza que no se produzcan bucles infinitos que tras algunos ciclos pueden llegar a extenuar los recursos disponibles, anulando la capacidad de la máquina.
El parche no es complejo, con un total de 3 ficheros cambiados (incluyendo el makefile) y un total de 15 inserciones y 9 sustracciones en el diff correspondiente. Sin contar el makefile, restan por tanto 14 inserciones (7 por fuente) y 8 sustracciones (4 por fuente) que hay que aplicar en el código fuente de ip_conntrack_proto_sctp.c, ubicado en net/ipv4/netfilter/ y en net/netfilter/
Sin tener en cuenta las adiciones en el código relativas a comentarios, la esencia del parche consiste en la agregación de una segunda condición de contorno en la que se verifican además los tamaños de las porciones de los fragmentos gestionados a través del protocolo SCTP (Stream Control Transmission Protocol), de modo que se garantice un progreso adecuado y completo para cada particularización inducida por el bucle for_each_sctp_chunk(). SCTP es un protocolo en la capa de transporte que facilita el transporte de señales PSTN (Public Switched Telephone Network) sobre redes IP, con un diseño orientado a la seguridad, ya que es un protocolo diseñado específicamente para evitar no sólo las congestiones naturales, sino para proporcionar resistencia a los ataques de inundación (flooding) y de enmascaramiento (maskerading).
Habida cuenta de que este tipo de denegaciones de servicio son factibles no sólo local sino remotamente, el carácter de criticidad asignable al fallo es de moderadamente crítico. Desde estas líneas realizamos un llamamiento a los administradores para que procedan a actualizar tan pronto les sea posible.