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)

  • CAPEC-10 Buffer Overflow via Environment Variables attack pattern
  • CAPEC-240 Resource Injection attack pattern
  • CAPEC-75 Manipulating Writeable Configuration Files attack pattern

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)

  • CAPEC-10 Buffer Overflow via Environment Variables attack pattern
  • CAPEC-240 Resource Injection attack pattern
  • CAPEC-75 Manipulating Writeable Configuration Files attack pattern

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
Show all 72 ›

Referenced by CWE · child of (3)

  • CWE-641 Improper Restriction of Names for Files and Other Resources weakness
  • CWE-694 Use of Multiple Resources with Duplicate Identifier weakness
  • CWE-914 Improper Control of Dynamically-Identified Variables weakness

Referenced by CWE · has member (2)

  • CWE-1340 CISQ Data Protection Measures view
  • CWE-884 CWE Cross-section view

Referenced by CWE · peer of (1)

  • CWE-706 Use of Incorrectly-Resolved Name or Reference weakness

Referenced by OWASP · mapped cwe (2)