За последний год число уязвимостей в открытом ПО выросло на 50%
Количество уязвимостей в программном обеспечении с открытым исходным кодом выросло почти на 50% в 2019 году. Такой вывод привели эксперты из компании WhiteSource в своем ежегодном отчете об уязвимостях. Специалисты связывают данную ситуацию с широким распространением компонентов с открытым исходным кодом и общим развитием опенсорсного сообщества в последние годы, а также вниманием СМИ к раскрытию данных.
В 2019 году было выявлено свыше 6 тыс. уязвимостей в продуктах с открытым исходным кодом против чуть более 4 тыс. в 2018 году. При этом, информация о 85% уязвимостях раскрывалась уже после выпуска необходимого исправления.
Однако информированность сообщества об уязвимостях не всегда означает, что данные о них будут раскрыты. К примеру, только 84% известных уязвимостей в открытом ПО попадают в Национальную базу данных уязвимостей США (National Vulnerability Database, NVD).
Специалисты также проанализировали количество уязвимостей в зависимости от языка программирования. По словам экспертов, проекты, написанные на языке C, содержали наибольший процент уязвимостей (30%), далее следуют PHP (27%), Java (15%), JavaScript (10%), C (9%), Python (5%) и Ruby (4%).
Наиболее распространенными в 2019 году классами уязвимостей оказались: CWE-79 (межсайтовое выполнение сценариев), CWE-20 (некорректная проверка входных данных), CWE-119 (выполнение операций за пределами буфера памяти), CWE-125 (чтение за пределами буфера) и CWE-200 (раскрытие информации).
"CWE-79 является одним из самых простых классов уязвимостей, которые могут быть проэксплуатированы злоумышленниками, поскольку существует множество автоматизированных инструментов, облегчающих процесс взлома даже преступникам-новичкам", - отметили специалисты.
Исследователи также отметили изменения, связанные с переходом рейтинга опасности уязвимости CVSS (Common Vulnerability Scoring System) на версию 3.1. По словам экспертов, в версии 3.1 изменилась классификация уровня опасности уязвимости. То есть более половины обнаруженных уязвимостей являются либо критическими либо высокой степени опасности, тем самым затрудняя распределение приоритетов при выпуске исправлений.