结构: Simple
Abstraction: Base
状态: Incomplete
被利用可能性: unkown
The product uses a regular expression that either (1) contains an executable component with user-controlled inputs, or (2) allows a user to enable execution by inserting pattern modifiers.
Case (2) is possible in the PHP preg_replace() function, and possibly in other languages when a user-controlled input is inserted into a string that is later parsed as a regular expression.
cwe_Nature: ChildOf cwe_CWE_ID: 77 cwe_View_ID: 1000 cwe_Ordinal: Primary
cwe_Nature: ChildOf cwe_CWE_ID: 77 cwe_View_ID: 699 cwe_Ordinal: Primary
Language: [{'cwe_Name': 'PHP', 'cwe_Prevalence': 'Undetermined'}, {'cwe_Name': 'Perl', 'cwe_Prevalence': 'Undetermined'}]
范围 | 影响 | 注释 |
---|---|---|
['Confidentiality', 'Integrity', 'Availability'] | Execute Unauthorized Code or Commands |
策略:
The regular expression feature in some languages allows inputs to be quoted or escaped before insertion, such as \Q and \E in Perl.
标识 | 说明 | 链接 |
---|---|---|
CVE-2006-2059 | Executable regexp in PHP by inserting "e" modifier into first argument to preg_replace | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2059 |
CVE-2005-3420 | Executable regexp in PHP by inserting "e" modifier into first argument to preg_replace | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2005-3420 |
CVE-2006-2878 | Complex curly syntax inserted into the replacement argument to PHP preg_replace(), which uses the "/e" modifier | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2878 |
CVE-2006-2908 | Function allows remote attackers to execute arbitrary PHP code via the username field, which is used in a preg_replace function call with a /e (executable) modifier. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2908 |
映射的分类名 | ImNode ID | Fit | Mapped Node Name |
---|---|---|---|
Software Fault Patterns | SFP24 | Tainted input to command |