
Репозиторий файлов доказательства концепции, демонстрирующих раскрытые и исправленные уязвимости в pngcheck (2.4.0 - 3.0.1), включая CVE-2020-27818, CVE-2020-35511 и другие уязвимости.
Репозиторий с файлами proof-of-concept, демонстрирующими раскрытые и исправленные уязвимости в pngcheck (2.4.0 - 3.0.1).
Каждый POC создан с помощью специальных скриптов генерации для запуска определённых ошибок, охватывающих как уязвимости с номерами CVE, так и без номеров.
Подробный анализ уязвимостей см. в моих исследовательских заметках.
| Каталог | Тип | Описание | Версия |
|---|
| vulns-3.0.1 | Чтение за пределами буфера | Чанк LOOP: непроверенный размер чанка | <=3.0.1 |
| vulns-3.0.0 | Чтение за пределами буфера | Чанк PPLT: ошибка обработки first_idx/last_idx | <=3.0.0 |
| vulns-2.4.0 | Разыменование нулевого указателя | Чанк sCAL: недопустимый доступ к указателю | <=2.4.0 |
| vulns-2.4.0 | Чтение за пределами буфера | Чанки MNG: чтение за пределами буфера в 10 типах чанков | <=2.4.0 |
| CVE-2020-35511 | Чтение за пределами буфера | print_buffer(): недостаточная проверка размера | <=2.4.0 |
| CVE-2020-27818 | Чтение за пределами границ | check_chunk_name(): отрицательный индекс массива из-за преобразования символов | <=2.4.0 |
Обратите внимание, что некоторые типы уязвимостей могут отличаться от описаний в CVE или официальных классификаций. Это субъективные категоризации.
Каждая папка с уязвимостью содержит:
Некоторые уязвимости могут не проявлять очевидных симптомов при запуске. Перекомпиляция с опциями санитайзера, такими как -fsanitize=address, может помочь лучше выявить эти проблемы.
Подробные инструкции см. в файле README.md в каждом каталоге.