CWEweakness
CWE-99 Improper Control of Resource Identifiers
High
Official page ↗
- Alternate terms
- Insecure Direct Object Reference, Resource Injection
- Abstraction
- Class
- Structure
- Simple
- Status
- Draft
- Likelihood of exploit
- High
- Languages
- Not Language-Specific
- CWE version
- 5.0
Description
The product receives input from an upstream component, but it does not restrict or incorrectly restricts the input before it is used as an identifier for a resource that may be outside the intended control sphere.
Common consequences
• Confidentiality, Integrity: Read Application Data, Modify Application Data, Read Files or Directories, Modify Files or Directories — An attacker could gain access to or modify sensitive data or system resources. This could allow access to protected files or directories including configuration files and files containing sensitive information.
Potential mitigations
• [Implementation] Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."
Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, it can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.
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-2013-4787: Chain: mobile OS verifies cryptographic signature of file in an archive, but then installs a different file with the same name that is also listed in the archive.
Related
Attack pattern · CAPEC (3)
Observed example · CVE (1)
- CVE-2013-4787 Android 1.6 Donut through 4.2 Jelly Bean does not properly check cryptographic signatures for applications, which allows attackers to… vulnerability
Can also be · CWE (1)
- CWE-73 External Control of File Name or Path weakness
Child of · CWE (1)
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component weakness
Peer of · CWE (1)
- CWE-706 Use of Incorrectly-Resolved Name or Reference weakness
Referenced by CAPEC · weakness (3)
Referenced by CVE · weakness (72)
- CVE-2026-114716 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by a mail header injection vulnerability. vulnerability
- CVE-2026-114717 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by a mail header injection vulnerability when a message is forwarded as… vulnerability
- CVE-2026-114725 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by a mail header injection vulnerability. vulnerability
- CVE-2026-114726 Roundcube Webmail before 1.6.20 and 1.7.x before 1.7.5 is affected by a mail header injection vulnerability in the Bounce (resend) action. vulnerability
- CVE-2026-50218 Akamai GPA (Guardicore Platform Agent) client on all platforms before 7.4 improperly validates JWT tokens used for seeding. vulnerability
- CVE-2026-107448 Magic: The Gathering Arena (Windows/Steam client; 2026.59.30.12801.127931.6 and certain later 2026.60.x builds) passes a server-supplied… vulnerability
- CVE-2026-106583 In ssh in OpenSSH before 10.6, a $ or \ character can occur in a command-line username, leading to injection. vulnerability
- CVE-2026-105444 A security flaw has been discovered in dotnet eShop .NET 8. vulnerability
- CVE-2026-100884 A vulnerability has been found in Krayin laravel-crm up to 2.2.5. vulnerability
- CVE-2026-95847 Moquette is a lightweight Java MQTT broker. vulnerability
- CVE-2026-94149 A vulnerability was identified in Omega Solution HRM OS up to 20260717. vulnerability
- CVE-2026-3855 GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.2.7 before 19.1.8, 19.2 before 19.2.6, and 19.3 before 19.3.2… vulnerability
- CVE-2026-81521 The MongoDB Go Driver's client-level bulk write operation may accept a caller-supplied database name containing a reserved separator… vulnerability
- CVE-2026-81524 A weakness in the MongoDB C Driver allows special elements in caller-supplied database and collection name components to pass without… vulnerability
- CVE-2026-62910 Improper control of resource identifiers ('resource injection') in Microsoft Exchange Server allows an authorized attacker to elevate… vulnerability
- CVE-2026-15186 A vulnerability was identified in macrozheng mall up to 1.0.3. vulnerability
- CVE-2026-13493 A flaw has been found in AIDC-AI ComfyUI-Copilot up to 2.0.28. vulnerability
- CVE-2026-12207 A security flaw has been discovered in medkey-org medkey up to fc09b7ba9441ff590b72d428d5380834216b09ed. vulnerability
- CVE-2026-10624 A vulnerability has been found in SourceCodester Human Resource Management 1.0. vulnerability
- CVE-2026-10299 A weakness has been identified in code-projects Online Hospital Management System 1.0. vulnerability
- CVE-2026-10168 A security vulnerability has been detected in OUSL-GROUP-BrinaryBrains School Student Management System up to… vulnerability
- CVE-2026-9438 A vulnerability was found in yashpokharna2555 StudentManagementSystem cb2f558ddf8d19396de0f92abf2d224d46a0a203. vulnerability
- CVE-2026-33603 Attacker can use a specially crafted base64 exchange between Dovecot and Client to fake SCRAM TLS channel binding. vulnerability
- CVE-2026-7303 A security flaw has been discovered in Xuxueli xxl-job up to 3.3.2. vulnerability
- CVE-2026-5414 A security flaw has been discovered in Newgen OmniDocs up to 12.0.00. vulnerability
- CVE-2026-5031 A vulnerability was found in BichitroGan ISP Billing Software 2025.3.20. vulnerability
- CVE-2026-3693 A flaw has been found in Shy2593666979 AgentChat up to 2.3.0. vulnerability
- CVE-2025-12918 A security flaw has been discovered in yungifez Skuul School Management System up to 2.6.5. vulnerability
- CVE-2025-12919 A vulnerability was detected in EverShop up to 2.0.1. vulnerability
- CVE-2025-12270 A vulnerability was determined in LearnHouse up to 98dfad76aad70711a8113f6c1fdabfccf10509ca. vulnerability
Referenced by CWE · child of (3)
Referenced by CWE · has member (2)
Referenced by CWE · peer of (1)
- CWE-706 Use of Incorrectly-Resolved Name or Reference weakness