【活用ガイド】

JVNDB-2026-034296

Apache Software FoundationのApache OpenNLPにおける非効率的な正規表現の複雑さに関する脆弱性

概要

opennlp.tools.namefind.RegexNameFinderFactory によって公開されている2つの組み込み名前検出パターン - DEFAULT_REGEX_NAME_FINDER.EMAIL と DEFAULT_REGEX_NAME_FINDER.URL - には、あいまいなネストされた量指定子が含まれています。RegexNameFinderFactory.getDefaultRegexNameFinders(...) を介してこれらのファインダーを取得し、その後 RegexNameFinder.find(String[]) または RegexNameFinder.find(String) を使用して信頼できないテキストに適用するアプリケーションは、小さな細工された入力によって、スーパーリニアなバックトラッキングや無制限のマッチャー再帰に陥る可能性があります。EMAIL パターンについては、@ が続かないロングランのローカルパート文字列がある場合、マッチャーは各開始オフセットから終端まで再スキャンを強いられます。コストは入力長の二次関数的に増加し、約32KBの入力では単一の find() 呼び出しで数秒のCPU時間を消費し、一致を返さず、入力が倍増するごとにコストが概ね4倍に増大します。URL パターンについては、クエリ文字列のサブ表現でキャプチャ繰り返しが外側の繰り返しの内側にネストされています。JDKマッチャーはクエリの各トークンごとに1回再帰するため、多数の&区切りトークンを含む約4KBの入力でスレッドスタックを使い果たし、java.lang.StackOverflowError が find() から発生し、呼び出し元スレッドを終了させます。より小さいスタックサイズ(例:-Xss512k、サーバーワーカープールで典型的)を持つスレッドでは、約1KBでこの問題が発生します。両ケースとも、解析のためのテキストを提供できる攻撃者は、単一のリクエストを数秒から数分に及ぶCPU負荷の高止まりやスレッドの突然の終了に変換でき、埋め込みアプリケーションがサービス拒否状態に陥る可能性があります。認証や特別な構成、モデルファイルは不要で、この2つの組み込みファインダーのいずれかをアプリケーションが選択しているだけで問題が生じます。この問題は Apache OpenNLP のバージョン 2.0.0 から 2.5.11、及び 3.0.0-M1 から 3.0.0-M5 に影響します。ユーザーには、この問題を修正したバージョン 2.5.12 へのアップグレード、または 3.0.0 マイルストーンラインを追跡しているユーザーに向けて 3.0.0-M6 へのアップグレードを推奨します。
CVSS による深刻度 (CVSS とは?)

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


Apache Software Foundation
  • Apache OpenNLP 2.0.0 以上 2.5.12 未満
  • Apache OpenNLP 3.0.0

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

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアが完全に停止する可能性があります。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

Apache Software Foundation Openwall
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 非効率的な正規表現の複雑さ(CWE-1333) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-82617
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-82617
更新履歴

  • [2026年09月17日]
      掲載