El Fondo OSTIF (Fondo de Mejora de Tecnología de Código Abierto), creado para fortalecer la seguridad de los proyectos abiertos, ha publicado los resultados de la auditoría de seguridad de las bibliotecas Boost, utilizadas en muchos proyectos en C++. La auditoría, que fue realizada por encargo de OSTIF y Amazon Web Services por la empresa italiana Shielder, identificó 7 problemas, de los cuales uno se calificó con un nivel de riesgo medio, y cuatro con un nivel bajo; dos problemas se publicaron como observaciones informativas.
Bibliotecas examinadas durante la auditoría:
- Boost.Beast
- Boost.DLL
- Boost.Date_Time
- Boost.Filesystem
- Boost.GIL
- Boost.Graph
- Boost.JSON
- Boost.Program_Options
- Boost.Regex
- Boost.String_Algo
- Boost.URL
- Boost.UUID
Problemas identificados:
- Vulnerabilidad en Boost.Beast que permite la inserción de caracteres de retorno de carro y salto de línea (CRLF) en los encabezados HTTP (puede ser utilizada para dividir encabezados). El problema se calificó con un nivel de riesgo medio.
- Desbordamiento de pila en la biblioteca Boost.Regex al realizar operaciones recursivas con múltiples elementos end_line en una expresión regular.
- Desbordamiento de pila en la biblioteca Boost.Regex al realizar operaciones recursivas con múltiples grupos de captura y combinaciones.
- Desbordamiento de pila en la biblioteca Boost.Regex al ejecutar operaciones recursivas con múltiples paréntesis rectos abiertos en la cadena de formato.
- Desbordamiento de pila en la biblioteca Boost.Graph al ejecutar operaciones recursivas con múltiples gráficos anidados.
- Activación de aserción en la función breadth_first_search de la biblioteca Boost.Graph.
- Excepciones no controladas en Boost.DLL.
Con base en la información obtenida durante la auditoría, el equipo de desarrolladores de Boost ya ha resuelto 4 problemas y ha realizado 15 mejoras para ampliar la cobertura del código y las funciones durante las pruebas de fuzzing. Aún no se ha solucionado el problema de división de encabezados en Boost.Beast ni se han tenido en cuenta las recomendaciones informativas.
Fuente: opennet.ru
