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値]
| |
| 影響を受けるシステム | |
|
| |
Apache Software Foundation | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
Apache Software Foundation Openwall | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/09/11 |
| 登録日 | 2026/09/17 |
| 最終更新日 | 2026/09/17 |



