公開され修正されたpngcheck(2.4.0〜3.0.1)の脆弱性を実証するProof-of-Conceptファイルのリポジトリです。
各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 | NULLポインタ参照 | 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を参照してください。