CWEweakness

CWE-639 Authorization Bypass Through User-Controlled Key

High Official page ↗
Alternate terms
Insecure Direct Object Reference / IDOR, Broken Object Level Authorization / BOLA, Horizontal Authorization
Abstraction
Base
Structure
Simple
Status
Incomplete
Likelihood of exploit
High
Languages
Not Language-Specific
CWE version
5.0

Description

The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.

Extended description

It is likely that an attacker would have to be an authenticated user in the system. However, the authorization process would not properly check the data access operation to ensure that the authenticated user performing the operation has sufficient entitlements to perform the requested data access, hence bypassing any other authorization checks present in the system. For example, attackers can look at places where user specific data is retrieved (e.g. search screens) and determine whether the key for the item being looked up is controllable externally. The key may be a hidden field in the HTML form field, might be passed as a URL parameter or as an unencrypted cookie variable, then in each of these cases it will be possible to tamper with the key value.

Common consequences

• Access Control: Bypass Protection Mechanism — Access control checks for specific user data or functionality can be bypassed. • Access Control: Gain Privileges or Assume Identity — Horizontal escalation of privilege is possible (one user can view/modify information of another user). • Access Control: Gain Privileges or Assume Identity — Vertical escalation of privilege is possible if the user-controlled key is actually a flag that indicates administrator status, allowing the attacker to gain administrative access.

Potential mitigations

• [Architecture and Design] For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested. • [Architecture and Design, Implementation] Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected. • [Architecture and Design] Use encryption in order to make it more difficult to guess other legitimate values of the key or associate a digital signature with the key so that the server can verify that there has been no tampering.

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-2021-36539: An educational application does not appropriately restrict file IDs to a particular user. The attacker can brute-force guess IDs, indicating IDOR.

Related

Observed example · CVE (1)

  • CVE-2021-36539 Instructure Canvas LMS didn't properly deny access to locked/unpublished files when the unprivileged user access the DocViewer based file… vulnerability

Child of · CWE (2)

  • CWE-284 Improper Access Control weakness
  • CWE-863 Incorrect Authorization weakness

Referenced by CVE · weakness (3,273)

  • CVE-2026-108763 The Wallet System for WooCommerce WordPress plugin before 2.8.2 does not restrict its KYC document submission handler to the current user's… vulnerability
  • CVE-2026-111417 A broken access control vulnerability exists in the Foxit official website’s HTML-to-PDF conversion service due to the use of a shared… vulnerability
  • CVE-2026-115259 The Photo Engine (Media Organizer & Lightroom) WordPress plugin before 6.6.0 does not have proper authorization checks when updating post… vulnerability
  • CVE-2026-115706 Authorization Bypass Through User-Controlled Key (CWE-639) in Elastic Cloud Enterprise (ECE) can lead to privilege escalation via Privilege… vulnerability
  • CVE-2026-118084 Subscriber Insecure Direct Object References (IDOR) in Hotel Booking <= 3.8 versions. vulnerability
  • CVE-2026-118760 Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. vulnerability
  • CVE-2026-119048 JeeSite 5.11.0 through 5.19.1 contains an insecure direct object reference vulnerability in the AI CMS chat module that allows… vulnerability
  • CVE-2026-119049 FreeMail before 5.3.2 contains an authorization bypass vulnerability that allows authenticated users to claim another user's existing… vulnerability
  • CVE-2026-42691 Authorization Bypass Through User-Controlled Key vulnerability in EventPrime EventPrime eventprime-event-calendar-management allows… vulnerability
  • CVE-2026-66091 In openEQUELLA before 2026.1, the GET /api/userquery/userinfobackup endpoint performs no authentication or authorisation check. vulnerability
  • CVE-2026-105272 GROWI contains an authorization bypass vulnerability in its page viewing and commenting functionality due to improper use of a… vulnerability
  • CVE-2026-109848 GROWI contains an authorization bypass vulnerability in its tag update API and the page update API due to improper use of a user-controlled… vulnerability
  • CVE-2026-111961 The Royal MCP WordPress plugin before 1.5.10 does not perform an object-level permission check before duplicating a requested page, relying… vulnerability
  • CVE-2026-117574 A flaw was found in ai-gateway-payload-processing. vulnerability
  • CVE-2026-117605 nopCommerce before 5.00.0 contains a missing authorization vulnerability in the admin ProductController RelatedProductAddPopup,… vulnerability
  • CVE-2026-117606 NexoPOS through 6.3.0 contains a missing authorization vulnerability that allows authenticated cashiers to manipulate other cashiers'… vulnerability
  • CVE-2026-118668 langgraph-api implements the LangGraph API for rapid development and testing. vulnerability
  • CVE-2026-55561 InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. vulnerability
  • CVE-2026-59185 identrail is a machine identity security platform for AWS, GitHub/OIDC, and Kubernetes. vulnerability
  • CVE-2026-59979 YosemiteCrew provides organization-based service and task management. vulnerability
  • CVE-2026-82411 Open Object provides an API and admin interface to manage objects and object types. vulnerability
  • CVE-2026-85749 MailWatch for MailScanner is a web-based front-end to MailScanner. vulnerability
  • CVE-2026-87098 Sensitive information disclosure due to improper authorization. vulnerability
  • CVE-2026-116672 Authlib is a Python library which builds OAuth and OpenID Connect servers. vulnerability
  • CVE-2026-116810 OpenPanel before 3.0.0 contains a missing authorization vulnerability that allows unauthenticated attackers to read any project's… vulnerability
  • CVE-2026-116898 REDAXO before 5.21.4 contains a missing authorization vulnerability in the media pool bulk move that checks only target category… vulnerability
  • CVE-2026-116899 REDAXO before 5.21.4 contains a broken access control vulnerability that allows authenticated editors to modify slices in unauthorized… vulnerability
  • CVE-2026-117562 rssant 1.9.0 through 1.9.1 contains an authorization bypass vulnerability that allows unauthenticated attackers to read stories from… vulnerability
  • CVE-2026-117563 MrDoc through 1.1.1 contains a broken access control vulnerability in the manage_doc_share type 3 branch that allows authenticated users to… vulnerability
  • CVE-2026-16307 Authorization bypass through User-Controlled key vulnerability in Netiket Information Technologies EdoWEB allows Accessing Functionality… vulnerability
Show all 3,273 ›

Referenced by CWE · child of (1)

  • CWE-566 Authorization Bypass Through User-Controlled SQL Primary Key weakness

Referenced by CWE · has member (1)

  • CWE-1435 Weaknesses in the 2025 CWE Top 25 Most Dangerous Software Weaknesses view

Referenced by OWASP · mapped cwe (5)