Der OSTIF (Open Source Technology Improvement Fund), der gegründet wurde, um die Sicherheit von Open-Source-Projekten zu verbessern, hat die Ergebnisse eines Sicherheitsaudits der Boost-Bibliotheken veröffentlicht, die in vielen C++-Projekten verwendet werden. Das Audit, das im Auftrag von OSTIF und Amazon Web Services von dem italienischen Unternehmen Shielder durchgeführt wurde, identifizierte 7 Probleme, von denen eines als mittleres Risiko und vier als niedrig eingestuft wurden, während zwei Probleme als informative Hinweise veröffentlicht wurden.
Die während des Audits geprüften Bibliotheken:
- 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
Identifizierte Probleme:
- Eine Schwachstelle in Boost.Beast ermöglicht die Einspeisung von Wagenrücklauf- und Zeilenwechselzeichen (CRLF) in HTTP-Header (dies kann verwendet werden, um Header zu spalten). Dieses Problem wurde als mittleres Risiko eingestuft.
- Stacküberlauf in der Boost.Regex-Bibliothek bei rekursiver Ausführung von Operationen mit mehreren end_line-Elementen im regulären Ausdruck.
- Stacküberlauf in der Boost.Regex-Bibliothek bei rekursiver Ausführung von Operationen mit mehreren Capture-Gruppen und deren Zusammenführung.
- Stacküberlauf in der Boost.Regex-Bibliothek bei der rekursiven Ausführung von Operationen mit mehreren offenen runden Klammern in der Formatierungszeichenfolge.
- Stacküberlauf in der Boost.Graph-Bibliothek bei der rekursiven Ausführung von Operationen mit mehreren verschachtelten Grafen.
- Assert-Auslösung in der Funktion breadth_first_search der Boost.Graph-Bibliothek.
- Unbehandelte Ausnahmen in Boost.DLL.
Basierend auf den im Audit erhaltenen Informationen hat das Boost-Entwicklungsteam bereits 4 Probleme behoben und 15 Verbesserungen vorgenommen, um die Code- und Funktionsabdeckung bei Fuzzing-Tests zu erweitern. Das Problem mit der Aufspaltung von Headern in Boost.Beast ist noch nicht behoben, und die Informationsempfehlungen wurden noch nicht berücksichtigt.
Quelle: opennet.ru
