
CVE-2026-2329 に関する Grandstream GXP1600 ファームウェアの脆弱版とパッチ適用版を比較する防御的な脆弱性調査プロジェクト。SquashFS 抽出、Ghidra リバースエンジニアリング、ARM ELF トレーシングを使用し、weaponized ex を伴わずにベンダーの修正内容を文書化する。
Grandstream GXP1600 ファームウェア 1.0.7.79(脆弱)と 1.0.7.81(パッチ適用済み)を比較し、ベンダーが CVE-2026-2329 に関連するリクエスト解析の欠陥をどのように是正したかを理解することを目的とした、防御的な静的解析プロジェクトです。
このリポジトリは、再現可能な脆弱性調査ワークフローを示しています。証拠の保存、組み込みファームウェアの抽出、対象サービスの特定、公開されたAPIパスの追跡、脆弱な実装とパッチ適用済み実装の比較、そしてエクスプロイトの開発や武器化を行うことなくセキュリティへの影響を文書化することを含みます。
この分析は、gs_web Webサービスバイナリと /cgi-bin/api.values.get リクエストパスに焦点を当てました。
ファームウェア 1.0.7.79 では、静的解析により、固定サイズのローカルスタックバッファ(char acStack_68[68])を使用し、書き込み前に明らかな上限チェックを行わずにリクエスト制御のトークンデータをコピーする、リクエストトークン解析ルーチンが特定されました。
ファームウェア 1.0.7.81 では、対応するロジックがリクエストを異なる方法で処理します。リクエストポインタを検証し、リクエスト長を計算し、strlen(request) + 1 のサイズのヒープバッファを割り当て、リクエストをコピーして、ヒープ上のコピーをその場でトークン化します。これにより、観測された解析パスから固定サイズのスタックバッファへのコピーが除去され、安全でないリクエスト処理の是正と整合します。
この調査結果を採用担当者やアナリスト向けに手早く確認するには、パッチ比較の図解 を参照してください。そこには、サニタイズ済みの再構築図が3つ含まれており、以下をカバーしています。
これらの図は、Ghidraインターフェースのスクリーンショットではなく、記録されたGhidra解析ノートからの再構築であることが明示されています。
grandstream-cve-2026-2329-analysis/
├── README.md
├── LICENSE
├── .gitignore
├── docs/
│ ├── methodology.md
│ ├── findings.md
│ ├── visual-analysis.md
│ └── limitations.md
├── scripts/
│ ├── firmware_header_parser.py
│ └── extraction_reference.sh
├── hashes/
│ └── analyzed-files.sha256
└── screenshots/
└── README.md
解析された gs_web サンプルはSHA-256で追跡されました:
| ファームウェア | 役割 | SHA-256 |
|---|---|---|
| 1.0.7.79 | 脆弱 | 29dd365affbc9aaa3a1f8833edda8a41a03813692004f890830fc5bbdf324dab |
| 1.0.7.81 | パッチ適用済み | 0cac4c54426db16d9f738a0c0b4715c600754f0f17430a6330ab8421310a8942 |
ベンダーのファームウェアイメージと抽出されたバイナリは、このリポジトリには含まれていません。
gs_web バイナリを特定する。api.values.get 文字列とクロスリファレンスを使用して、関連するリクエスト処理ロジックを特定する。詳細については docs/methodology.md を参照してください。
このリポジトリは、許可された防御的セキュリティ研究、脆弱性分析、教育、および再現可能な技術文書化を目的としています。エクスプロイトコード、武器化されたペイロード、ベンダーファームウェア、認証情報、または不正アクセスの手順は含まれていません。
このプロジェクトは静的パッチ比較分析です。動的エクスプロイト、実機でのテスト、および悪用可能性の検証は、完了したスコープの範囲外です。docs/limitations.md を参照してください。
Vivian Onyinye Uba
サイバーセキュリティ | 脅威検知 | 脆弱性研究 | OT/ICSセキュリティ