Le fonds OSTIF (Open Source Technology Improvement Fund), créé dans le but de renforcer la sécurité des projets open source, a publié les résultats d'un audit de sécurité des bibliothèques Boost, utilisées dans de nombreux projets en C++. L'audit, commandé par OSTIF et Amazon Web Services à l'entreprise italienne Shielder, a révélé 7 problèmes, dont un a été classé de niveau de gravité moyen, tandis que quatre ont été classés faibles, et deux problèmes ont été publiés sous forme de notes d'information.
Bibliothèques examinées lors de l'audit :
- 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
Problèmes identifiés :
- Vulnérabilité dans Boost.Beast autorisant l'injection de caractères de retour chariot et de saut de ligne (CRLF) dans les en-têtes HTTP (peut être utilisée pour découper les en-têtes). Le problème a été classé de niveau de gravité moyen.
- Dépassement de pile dans la bibliothèque Boost.Regex lors de l'exécution récursive d'opérations avec plusieurs éléments end_line dans une expression régulière.
- Dépassement de pile dans la bibliothèque Boost.Regex lors de l'exécution récursive d'opérations avec plusieurs groupes de capture et de concaténation.
- Dépassement de pile dans la bibliothèque Boost.Regex lors de l'exécution récursive d'opérations avec plusieurs parenthèses ouvertes dans la chaîne de formatage.
- Dépassement de pile dans la bibliothèque Boost.Graph lors de l'exécution récursive d'opérations avec plusieurs graphes imbriqués.
- Échec d'assertion dans la fonction breadth_first_search de la bibliothèque Boost.Graph.
- Exceptions non interceptées dans Boost.DLL.
Sur la base des informations obtenues lors de l'audit, l'équipe de développement de Boost a déjà résolu 4 problèmes et a apporté 15 améliorations pour élargir la couverture du code et des fonctionnalités lors des tests de fuzzing. Le problème de découpe des en-têtes dans Boost.Beast n'a pas encore été corrigé et les recommandations d'information n'ont pas été prises en compte.
Source : opennet.ru
