Il fondo OSTIF (Open Source Technology Improvement Fund), creato per migliorare la sicurezza dei progetti open source, ha pubblicato i risultati dell'audit di sicurezza delle librerie Boost, utilizzate in molti progetti in C++. L'audit, condotto su richiesta di OSTIF e Amazon Web Services dall'azienda italiana Shielder, ha rivelato 7 problemi, di cui uno classificato a livello medio di pericolo, e quattro a livello basso, mentre due problemi sono stati pubblicati come osservazioni informative.
Librerie esaminate durante 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
Problemi identificati:
- Vulnerabilità in Boost.Beast che consente l'inserimento di caratteri di ritorno a capo e di nuova linea (CRLF) negli header HTTP (può essere utilizzata per dividere gli header). Questa problematica è stata classificata a livello medio di pericolo.
- Overflow dello stack nella libreria Boost.Regex durante l'esecuzione ricorsiva di operazioni con più elementi end_line nell'espressione regolare.
- Overflow dello stack nella libreria Boost.Regex durante l'esecuzione ricorsiva di operazioni con più gruppi di cattura e unione.
- Overflow dello stack nella libreria Boost.Regex durante l'esecuzione ricorsiva di operazioni con più parentesi tonde aperte nella stringa di formattazione.
- Overflow dello stack nella libreria Boost.Graph durante l'esecuzione ricorsiva di operazioni con grafi annidati.
- Attivazione dell'assert nella funzione breadth_first_search della libreria Boost.Graph.
- Eccezioni non gestite in Boost.DLL.
Sulla base delle informazioni ottenute durante l'audit, il team di sviluppo di Boost ha già risolto 4 problemi e apportato 15 miglioramenti per estendere la copertura del codice e delle funzionalità durante i test di fuzzing. La questione della separazione delle intestazioni in Boost.Beast non è ancora stata risolta e le raccomandazioni informative non sono state considerate.
Fonte: opennet.ru
