cJSONで致命的な脆弱性(CVE-2025-57052)

セキュリティニュース

投稿日時: 更新日時:

cJSONで致命的な脆弱性(CVE-2025-57052)

cJSON(ANSI C製の軽量JSONパーサ)に、配列インデックスの検証不備が原因で境界外アクセス(Out-of-Bounds, OOB)や

クラッシュを引き起こすクリティカルな欠陥が見つかりました。脆弱性はCVE-2025-57052(CVSS 9.8)として公開され、PoCも提示されています。

対象バージョン

本件は 修正コミット(PR #957 / 74e1ff4)適用前の cJSON に影響します。

具体的には、最新タグ v1.7.18 を含む既存の全タグ付きリリースおよび修正前の main ブランチが該当します。なお、影響は cJSON_Utils.c をビルドに含め、decode_array_index_from_pointer を経由して配列インデックスを文字列から解釈している構成に限定されます(cJSON.c/h のみを同梱し、Utilsを使用していないプロジェクトは原則影響を受けません)。

対処バージョン

PR #957(コミット 74e1ff4)以降のソースには修正が反映されています。タグ付きの修正版が公開されるまでは、

(1) 上記コミットを取り込んだ最新 main に追随して再ビルドする、(2) 当該差分をパッチとしてベンダリングして適用する、(3) ディストリビューションやパッケージ管理者が提供するバックポート版を採用する、のいずれかで早期に是正してください。

タグ版が公開された後は、修正を含む新しいリリース(v1.7.18 超)へ更新することを推奨します。

悪用シナリオとリスク

攻撃者は、アプリ側の検証をすり抜ける細工JSON Pointerを投入し、意図せぬ配列位置を参照させることで、

  • サービスクラッシュ(DoS)の誘発、

  • アプリのガードロジックとcJSONの解釈差を突くチェック回避

  • 実装やコンパイラ最適化との組み合わせ次第での機密メモリ露見の可能性
    といった影響を与えます。

影響範囲

cJSON 自体をリンクしているだけではなく、cJSON_Utils を通じて配列インデックスを文字列から解釈している場面が該当します。Web API、組込み/IoT、デスクトップ/サーバアプリなど、外部入力に由来するJSON Pointerを受け取る設計のソフトウェアは特に注意が必要です。