RE2JSに正規表現処理の脆弱性、サービス妨害のおそれ
概要
RE2JSでは、後読み(LOOKBEHINDS)を使い、matcher().find()などで繰り返し照合すると、処理量が急増して、サービスが応答しなくなるおそれがあります。影響を受けるのは2.2.0から2.8.7より前の版で、修正版は2.8.7です。CVSSは7.5で、攻撃者が入力する文字列によって処理が止まることがあるため、RE2JSを使っている場合は2.8.7以降への更新を急ぐことをおすすめします。
AI要約
外部の AI が作成した要約です。誤りを含むことがあります。重要な判断の前に、下の原文と参照URLを確認してください。
RE2JSでは、後読み(LOOKBEHINDS)を使い、matcher().find()などで繰り返し照合すると、処理量が急増して、サービスが応答しなくなるおそれがあります。影響を受けるのは2.2.0から2.8.7より前の版で、修正版は2.8.7です。CVSSは7.5で、攻撃者が入力する文字列によって処理が止まることがあるため、RE2JSを使っている場合は2.8.7以降への更新を急ぐことをおすすめします。
影響パッケージ
| 種類 | パッケージ | 影響を受ける版 | 直った版 |
|---|---|---|---|
| le0pard | re2js | — | — |
原文の説明 取得元が公開している説明をそのまま載せています (多くは英語)。
RE2JS is the JavaScript port of RE2, a regular expression engine that provides linear time matching. From 2.2.0 until 2.8.7, enabling LOOKBEHINDS and using repeated matching through matcher().find(), matchAll(), split(), or matcher().replaceAll() can cause quadratic total work. Machine.match restarts lookbehind scanning from offset zero for each requested start position, while Matcher-based APIs request capture slots that prevent the early exit used for captureless matching. Dense matches therefore repeatedly rescan the input, allowing attacker-influenced text to monopolize a single-threaded worker and deny service. This issue is fixed in version 2.8.7.
出典: CVE.org (CVE Program・cvelistV5) NVD
参照URL
- web github.com
- web github.com
- web github.com
- web github.com