【活用ガイド】

JVNDB-2026-008490

UltraJSON projectのUltraJSONにおける複数の脆弱性

概要

UltraJSONは、Python 3.7以降用のバインディングを備えた純粋なCで書かれた高速なJSONエンコーダーおよびデコーダーです。バージョン5.10から5.11.0までにおいて、大きなインデント処理によりバッファオーバーフローまたは無限ループの脆弱性が存在します。ujson.dumps()は、indentパラメータと入力のネスト深度の積がINT32_MAXを超えると、Pythonインタプリタがクラッシュ(セグメンテーションフォルト)します。また、indentが大きな負の数の場合は無限ループに陥る可能性があります。これらは、インデントのために確保するメモリ量の計算時に整数のオーバーフロー/アンダーフローが発生することに起因しています。これらの脆弱性はサービス拒否(DoS)攻撃に悪用可能です。脆弱になる条件は、サービスがujson.dump()/ujson.dumps()/ujson.encode()を呼び出し、かつ未検証のユーザーがindentパラメータを制御し、そのインデントを合理的に小さい非負値に制限しない場合に限られます。また、固定の負のインデントを使用した場合も無限ループの脆弱性が生じる可能性があります。入力データが少なくとも1レベルネストしている場合、負のインデントでは常にアンダーフローが発生しますが、小さな負のインデントでは通常、別のオーバーフローによってアンダーフローが偶発的に修正されます。この問題はバージョン5.12.0で修正されました。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.5 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): なし
  • 完全性への影響(I): なし
  • 可用性への影響(A): 高
影響を受けるシステム


UltraJSON project
  • UltraJSON 5.1.0 以上 5.12.0 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
また、当該ソフトウェアが扱う情報について、書き換えは発生しません。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 整数オーバーフローまたはラップアラウンド(CWE-190) [その他]
  2. 整数オーバーフローまたはラップアラウンド(CWE-190) [NVD評価]
  3. 境界外書き込み(CWE-787) [その他]
  4. 無限ループ(CWE-835) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-32875
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-32875
  2. 関連文書 : ujson.dumps crashes when indent is large  Issue #700  ultrajson/ultrajson
  3. 関連文書 : Fix buffer overflow/infinite loop from indent handling  ultrajson/ultrajson@486bd45  GitHub
更新履歴

  • [2026年03月25日]
      掲載