CAPEC-492

Regular Expression Exponential Blowup
2014-06-23
00h00 +00:00
Draft
2022-02-22
00h00 +00:00
指定 CAPEC 提醒
随时了解指定 CAPEC 的变更。
管理通知

CAPEC 描述

An adversary may execute an attack on a program that uses a poor Regular Expression(Regex) implementation by choosing input that results in an extreme situation for the Regex. A typical extreme situation operates at exponential time compared to the input size. This is due to most implementations using a Nondeterministic Finite Automaton(NFA) state machine to be built by the Regex algorithm since NFA allows backtracking and thus more complex regular expressions.

CAPEC 信息

前提条件

This type of an attack requires the ability to identify hosts running a poorly implemented Regex, and the ability to send crafted input to exploit the regular expression.

缓解措施

Test custom written Regex with fuzzing to determine if the Regex is a poor one. Add timeouts to processes that handle the Regex logic. If an evil Regex is found rewrite it as a good Regex.

相关弱点

CWE-ID 弱点名称

CWE-400

Uncontrolled Resource Consumption
The product does not properly control the allocation and maintenance of a limited resource.

CWE-1333

Inefficient Regular Expression Complexity
The product uses a regular expression with a worst-case computational complexity that is inefficient and possibly exponential.

参考资料

REF-421

Regular Expression Denial of Service Attacks and Defenses
Bryan Sullivan.
http://msdn.microsoft.com/en-au/magazine/ff646973.aspx

提交记录

名称 组织 日期 发布日期
CAPEC Content Team The MITRE Corporation 2014-06-23 +00:00

修改记录

名称 组织 日期 备注
CAPEC Content Team The MITRE Corporation 2019-04-04 +00:00 Updated Related_Weaknesses
CAPEC Content Team The MITRE Corporation 2019-09-30 +00:00 Updated Related_Attack_Patterns
CAPEC Content Team The MITRE Corporation 2020-12-17 +00:00 Updated Taxonomy_Mappings
CAPEC Content Team The MITRE Corporation 2021-06-24 +00:00 Updated Related_Weaknesses
CAPEC Content Team The MITRE Corporation 2022-02-22 +00:00 Updated Description, Extended_Description