CWEweakness
CWE-943 Improper Neutralization of Special Elements in Data Query Logic
- Alternate terms
- NoSQL Injection, NoSQLi
- Abstraction
- Class
- Structure
- Simple
- Status
- Incomplete
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product generates a query intended to access or manipulate data in a data store such as a database, but it does not neutralize or incorrectly neutralizes special elements that can modify the intended logic of the query.
Common consequences
• Confidentiality, Integrity, Availability, Access Control: Bypass Protection Mechanism, Read Application Data, Modify Application Data, Varies by Context — Depending on the capabilities of the query language, an attacker could inject additional logic into the query to:
• Modify the intended selection criteria, thus changing which data entities (e.g., records) are returned, modified, or otherwise manipulated
• Append additional commands to the query
• Return more entities than intended
• Return fewer entities than intended
• Cause entities to be sorted in an unexpected way
The ability to execute additional commands or change which entities are returned has obvious risks. But when the product logic depends on the order or number of entities, this can also lead to vulnerabilities. For example, if the query expects to return only one entity that specifies an administrative user, but an attacker can change which entities are returned, this could cause the logic to return information for a regular user and incorrectly assume that the user has administrative privileges.
Detection methods
• Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)
Observed examples
• CVE-2024-50672: NoSQL injection in product for building eLearning courses allows password resets using a query processed by the Mongoose find function
• CVE-2021-20736: NoSQL injection in team collaboration product
• CVE-2020-35666: NoSQL injection in a PaaS platform using a MongoDB operator
• CVE-2014-2503: Injection using Documentum Query Language (DQL)
• CVE-2014-2508: Injection using Documentum Query Language (DQL)
Related
Attack pattern · CAPEC (1)
- CAPEC-676 NoSQL Injection attack pattern
Observed example · CVE (5)
- CVE-2024-50672 A NoSQL injection vulnerability in Adapt Learning Adapt Authoring Tool <= 0.11.3 allows unauthenticated attackers to reset user and… vulnerability
- CVE-2021-20736 NoSQL injection vulnerability in GROWI versions prior to v4.2.20 allows a remote attacker to obtain and/or alter the information stored in… vulnerability
- CVE-2020-35666 Steedos Platform through 1.21.24 allows NoSQL injection because the /api/collection/findone implementation in… vulnerability
- CVE-2014-2508 EMC Documentum Content Server before 6.7 SP1 P28, 6.7 SP2 before P14, 7.0 before P15, and 7.1 before P05 allows remote authenticated users… vulnerability
- CVE-2014-2503 The thumbnail proxy server in EMC Documentum Digital Asset Manager (DAM) 6.5 SP3, 6.5 SP4, 6.5 SP5, and 6.5 SP6 before P13 allows remote… vulnerability
Child of · CWE (1)
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component weakness
Referenced by CAPEC · weakness (1)
- CAPEC-676 NoSQL Injection attack pattern
Referenced by CVE · weakness (144)
- CVE-2026-118581 A BSON encoding component of the MongoDB Java Driver does not verify that an externally supplied raw document's self-declared length agrees… vulnerability
- CVE-2026-118641 n8n before 1.123.85, 2.x before 2.43.5, and 2.44.x before 2.44.1 contains an OData $filter injection vulnerability in the Microsoft Outlook… vulnerability
- CVE-2026-118645 n8n before 1.123.85, 2.x before 2.43.5, and 2.44.x before 2.44.1 contains a filter injection vulnerability in the Quick Base node, which… vulnerability
- CVE-2026-55369 Waline is a comment system with backend support. vulnerability
- CVE-2026-116801 Parse Server before 8.6.105 and 9.0.0 before 9.10.5-alpha.6 does not validate the owning object reference in $relatedTo relation queries,… vulnerability
- CVE-2026-57193 Asterisk is an open source private branch exchange and telephony toolkit. vulnerability
- CVE-2026-55444 The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. vulnerability
- CVE-2026-55465 The Goobi viewer is a web application that allows digitised material to be displayed in a web browser. vulnerability
- CVE-2026-114510 Flexible GraphRAG is a Python framework for building graph and retrieval-augmented generation applications across multiple graph, vector,… vulnerability
- CVE-2026-114647 The MongoDB C# Driver does not reject replacement documents whose top-level field names begin with a dollar sign in FindOneAndReplace,… vulnerability
- CVE-2026-114648 The MongoDB C# Driver does not neutralize dot and dollar characters in dictionary keys, field names and array-filter identifiers used in… vulnerability
- CVE-2026-114652 A data-query-logic neutralization weakness in the update-statement construction component of the MongoDB C# Driver can cause… vulnerability
- CVE-2026-114396 Trudesk through 1.2.11 contains a server-side JavaScript injection vulnerability that allows authenticated users to inject code into a… vulnerability
- CVE-2026-114401 Trudesk through 1.2.11 contains a regular expression injection vulnerability that allows unauthenticated attackers to enumerate usernames… vulnerability
- CVE-2026-76295 In Splunk Enterprise versions below 10.4.4, 10.2.8, 10.0.11, and 9.4.16, and Splunk Secure Gateway versions below 3.10.12, 3.9.26, and… vulnerability
- CVE-2026-113662 ApostropheCMS is an open-source Node.js content management system. vulnerability
- CVE-2026-59962 Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. vulnerability
- CVE-2026-102988 Plane is an open-source project management tool. vulnerability
- CVE-2026-105799 LangChain is a framework for building LLM-powered applications. vulnerability
- CVE-2026-106119 LangChain is a framework for building LLM-powered applications. vulnerability
- CVE-2026-104956 Plane is an open-source project management tool. vulnerability
- CVE-2026-105652 Ghost is a Node.js content management system. vulnerability
- CVE-2026-105675 Ghost is a Node.js content management system. vulnerability
- CVE-2026-105681 Ghost is a Node.js content management system. vulnerability
- CVE-2026-103250 n8n versions before 1.123.80, from 2.0.0 before 2.39.6, and from 2.40.0 before 2.40.1 contain a NoSQL injection vulnerability in the… vulnerability
- CVE-2026-103258 n8n versions before 2.39.6 and 2.40.0 before 2.40.1 contain an unescaped parameter interpolation vulnerability in SendGrid, Freshservice,… vulnerability
- CVE-2026-103289 Ghost from 5.9.0 before 6.44.1 contains an input validation issue in the comments feature that allows authenticated members to access… vulnerability
- CVE-2026-73975 djehuty is a research data repository system developed by 4TU.ResearchData. vulnerability
- CVE-2026-73976 djehuty is a research data repository system developed by 4TU.ResearchData. vulnerability
- CVE-2026-81914 Apache Airflow's Google provider built Google Drive search expressions by interpolating file and folder names directly into single-quoted… vulnerability
Referenced by CWE · child of (4)
- CWE-643 Improper Neutralization of Data within XPath Expressions weakness
- CWE-652 Improper Neutralization of Data within XQuery Expressions weakness
- CWE-89 Improper Neutralization of Special Elements used in an SQL Command weakness
- CWE-90 Improper Neutralization of Special Elements used in an LDAP Query weakness