CWE - CWE-89 - Improper Neutralization of Special Elements Used in An SQL Command ('SQL Injection') (4.14)
CWE - CWE-89 - Improper Neutralization of Special Elements Used in An SQL Command ('SQL Injection') (4.14)
Home About ▼ CWE List ▼ Mapping ▼ Top-N Lists ▼ Community ▼ News ▼ Search
Mapping
View customized information: Conceptual Operational Complete Custom
Friendly
Description
The product constructs all or part of an SQL command using externally-influenced input from an upstream component, but it
does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to
a downstream component.
Extended Description
Without sufficient removal or quoting of SQL syntax in user-controllable inputs, the generated SQL query can cause those
inputs to be interpreted as SQL instead of ordinary user data. This can be used to alter query logic to bypass security checks,
or to insert additional statements that modify the back-end database, possibly including execution of system commands.
SQL injection has become a common issue with database-driven web sites. The flaw is easily detected, and easily exploited,
and as such, any site or product package with even a minimal user base is likely to be subject to an attempted attack of this
kind. This flaw depends on the fact that SQL makes no real distinction between the control and data planes.
Relationships
Relevant to the view "Research Concepts" (CWE-1000)
Nature Type ID Name
ChildOf 943 Improper Neutralization of Special Elements in Data Query Logic
ParentOf 564 SQL Injection: Hibernate
CanFollow 456 Missing Initialization of a Variable
Relevant to the view "Weaknesses for Simplified Mapping of Published Vulnerabilities" (CWE-1003)
Relevant to the view "Architectural Concepts" (CWE-1008)
Relevant to the view "CISQ Quality Measures (2020)" (CWE-1305)
Relevant to the view "Weaknesses in OWASP Top Ten (2013)" (CWE-928)
Memberships
Reason: Acceptable-Use
Rationale:
This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes
of vulnerabilities.
Comments:
Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a
mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.
Notes
Relationship
SQL injection can be resultant from special character mismanagement, MAID, or denylist/allowlist problems. It can be
primary to authentication errors.
Taxonomy Mappings
Content History
Submissions
Submission Date Submitter Organization
2006-07-19 PLOVER
(CWE Draft 3, 2006-07-19)
Modifications
Previous Entry Names