Skip to content
OpenAdvisories

Weakness (CWE)

CWE-639: Authorization Bypass Through User-Controlled Key

Base Incomplete

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.

More detail

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.

How to prevent it (3 mitigations)
  1. Architecture and Design

    For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.

  2. 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.

  3. 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.

Source: MITRE CWE-639

3,309 results · Feed

  • Medium 4.3

    Moodle through 5.3.0, 5.2.4, 5.1.8, 5.0.11 and 4.5.15 Information Disclosure via core_grades_get_feedback

    Moodle 4.2.0 through 4.5.15, 5.0.0 through 5.0.11, 5.1.0 through 5.1.8, 5.2.0 through 5.2.4, and 5.3.0 contain an information disclosure vulnerability in the core_grades_get_feedback web service. The service lacks group-membership and enrolment checks, so non…

  • Low 3.1

    Lago through 1.55.0 Cross-Organization Invoice Payment Manipulation via Stripe Webhook

    Lago through 1.55.0 contains an authorization bypass vulnerability in Invoices::Payments::StripeService that allows users of one organization to mark another organization's invoice as paid due to an unscoped invoice lookup. Attackers controlling their organiz…

  • Medium 4.3

    Forgejo through 15.0.11, 16.0.7, and 17.0.1 Information Disclosure via /api/v1/user/keys/{id}

    Forgejo through 15.0.11, 16.0.0 through 16.0.7, and 17.0.0 through 17.0.1 contains an information disclosure vulnerability in the GetPublicKey API handler that lacks an ownership check on key lookups. Authenticated users with a read:user token or session can …

  • Medium 5.9

    Hyperswitch through 1.128.0 Missing Authorization in Payout Confirmation

    Juspay Hyperswitch through 1.128.0 (and builds before 2026.10.19.0) contains a missing authorization vulnerability that allows unauthenticated attackers to confirm payouts with any client_secret via POST /payouts/{payout_id}/confirm. Attackers holding the mer…

  • Low 2.7

    Space Developer can extract space-scoped broker credentials

    A user with SpaceDeveloper privileges could modify the URL of a space-scoped broker without altering its credentials, enabling extraction of existing broker credentials by redirecting them to a broker under their control. The CF API does not permit direct rea…

  • Medium 4.3

    Keycloak-services: keycloak-services: authorization bypass via uma resource registration idor

    A flaw was found in the UMA resource registration endpoint of the keycloak-services component, which provides the core logic for Keycloak's authorization and identity services. The issue occurs when remote resource management is enabled, allowing an authentic…

  • Medium 6.5

    Skuul School Management System through version 2.6.5 is vulnerable to incorrect access control in the ResultChecker::ch…

  • High 8.1

    WeGIA: Systemic IDOR + Missing CSRF — extract($_REQUEST) in All Controle Classes

    WeGIA is a web manager for charitable institutions. Prior to the advisory's stated patched version 3.8.7, the `/controle/control.php` dispatch endpoint accepts attacker-controlled `nomeClasse`, `metodo`, and record identifier parameters through `extract($_REQ…

  • High 7.5

    Bricks Theme Broken Access Control via load_popup_content

    Bricks Theme 2.4 and before for WordPress contains an unauthenticated broken access control vulnerability in the load_popup_content REST endpoint that allows anonymous attackers to read draft and unpublished page content by supplying a popupId parameter witho…

  • Medium 6.5

    Kubeflow Pipelines: Missing namespace authorization permits cross-tenant artifact reads

    Kubeflow Pipelines enables users to build and deploy portable, scalable machine learning workflows. From 0.5.1 until 2.17.0, the frontend artifact routes did not check whether an authenticated user was authorized to access the requested namespace. A user who …

  • Medium 6.5

    WordPress Hotel Booking plugin <= 3.8 - Insecure Direct Object References (IDOR) vulnerability

    Subscriber Insecure Direct Object References (IDOR) in Hotel Booking <= 3.8 versions.

  • Medium 5.4

    WordPress EventPrime plugin <= 4.3.6.0 - Broken Access Control vulnerability

    Authorization Bypass Through User-Controlled Key vulnerability in EventPrime EventPrime eventprime-event-calendar-management allows Privilege Abuse.This issue affects EventPrime: from n/a through 4.3.6.0.

  • Medium 6.8

    Authorization Bypass Through User-Controlled Key in Elastic Cloud Enterprise (ECE) Leading to Privilege Escalation

    Authorization Bypass Through User-Controlled Key (CWE-639) in Elastic Cloud Enterprise (ECE) can lead to privilege escalation via Privilege Abuse (CAPEC-122). An attacker who controls any host in an ECE installation can obtain credentials that are reserved fo…

  • Medium 4.2

    JeeSite 5.11.0 through 5.19.1 IDOR in AI CMS Chat Module

    JeeSite 5.11.0 through 5.19.1 contains an insecure direct object reference vulnerability in the AI CMS chat module that allows authenticated users to access other users' conversations due to missing and reversed ownership checks. Attackers who know or derive …

  • High 7.6

    FreeMail before 5.3.2 Authorization Bypass via /api/create Mailbox Claiming

    FreeMail before 5.3.2 contains an authorization bypass vulnerability that allows authenticated users to claim another user's existing mailbox via the POST /api/create endpoint. Attackers who know a victim's address can become co-owners through assignMailboxTo…

  • High 7.5

    Cross-user Document Access on Foxit Official Website's HTML-to-PDF Service

    A broken access control vulnerability exists in the Foxit official website’s HTML-to-PDF conversion service due to the use of a shared token for submitted conversion documents. This may allow unauthorized users to access documents submitted by other users.

  • Medium 4.9

    Photo Engine < 6.6.0 - Author+ Arbitrary Content Modification via IDOR

    The Photo Engine (Media Organizer & Lightroom) WordPress plugin before 6.6.0 does not have proper authorization checks when updating post data through one of its REST API routes in all versions up to, and including, 6.5.8. This makes it possible for authentic…

  • Medium 4.3

    Wallet System for WooCommerce < 2.8.2 - Subscriber+ KYC Document Overwrite via IDOR

    The Wallet System for WooCommerce WordPress plugin before 2.8.2 does not restrict its KYC document submission handler to the current user's own account, taking the target user ID from a client-supplied request field with no ownership or capability check, allo…

  • Medium 6.9

    Unauthenticated IDOR Enables Disclosure of Other Users’ last-known details

    In openEQUELLA before 2026.1, the GET /api/userquery/userinfobackup endpoint performs no authentication or authorisation check. An unauthenticated attacker who supplies another user's uniqueId can retrieve that user's stored personal details (username, first …

  • Medium 6.5

    Objects API: Cross-object-type authorization bypass on the object history-detail endpoint

    Open Object provides an API and admin interface to manage objects and object types. From 2.4.3 until 2.5.1, 3.6.2, 4.0.2, and 4.1.1, a token scoped to read one ObjectType can read the full versioned record of an object of any other ObjectType via the history-…

  • High 8.1

    MailWatch: IDOR lets any authenticated user release or delete another tenant's quarantined mail

    MailWatch for MailScanner is a web-based front-end to MailScanner. Prior to 1.2.27, any authenticated MailWatch user, including the U/user, D/domain-admin, and H/host roles, can release to inbox or permanently delete the quarantined mail of any other user or …

  • Medium 5.3

    InvoicePlane: Guest user IDOR in quote approval and rejection

    InvoicePlane is a self-hosted open source application for managing invoices, clients, and payments. Prior to 1.7.2-beta-1, guest users can approve or reject quotes belonging to any client, not just their assigned clients. The `approve()` and `reject()` method…

  • High 8.6

    LangGraph JavaScript custom authentication may permit cross-user Store access

    langgraph-api implements the LangGraph API for rapid development and testing. From 0.1.2 until 0.15.0, JavaScript or TypeScript custom authentication Store authorization handlers can return a rewritten namespace that is not carried across the runtime boundary…

  • Critical 9.1

    Ai-gateway-payload-processing: ai-gateway-payload-processing: tenant/credential selection from client-controlled url path with no in-process authorization

    A flaw was found in ai-gateway-payload-processing. An authenticated remote attacker can exploit this vulnerability by submitting a request specifying another tenant's model identifier in the request body or header. Because the service does not verify authoriz…

  • High 8.3

    YosemiteCrew: Missing organization authorization on service and PMS library/template routes

    YosemiteCrew provides organization-based service and task management. In the source-reported affected main and dev snapshots, YosemiteCrew's service and PMS task-library/template routes omit organization and permission checks. `authorizeCognito` in `apps/back…

  • High 8.5

    identrail: Cross-tenant GitHub installation binding without ownership verification

    identrail is a machine identity security platform for AWS, GitHub/OIDC, and Kubernetes. Prior to 1.0.2, the default-on `POST /v1/workspaces/:workspace_id/projects/:project_id/github/connect/complete` endpoint in `internal/api/router.go` accepts `installation_…

  • Medium 5.3

    Giftcard enumeration

    Some of our API endpoints allowed to create order payments referencing a gift card by using the auto-incremented internal ID. This ID was not checked and allowed creating payments that reference gift cards from different organizers and thereby obtaining their…

  • Low 3.1

    Sensitive information disclosure due to improper authorization. The following products are affected: Acronis Cyber Prot…

  • Low 3.8

    Royal MCP < 1.5.10 - Contributor+ Private and Draft Content Disclosure and publish_posts Bypass via elementor_clone_page

    The Royal MCP WordPress plugin before 1.5.10 does not perform an object-level permission check before duplicating a requested page, relying on a generic capability, which allows users with contributor-level access to read the full content of any private or dr…

  • Medium 4.2

    GROWI contains an authorization bypass vulnerability in its tag update API and the page update API due to improper use …

  • Medium 4.2

    GROWI contains an authorization bypass vulnerability in its page viewing and commenting functionality due to improper u…

  • Medium 4.3

    nopCommerce before 5.00.0 Missing Authorization via Admin ProductController Add Popup Handlers

    nopCommerce before 5.00.0 contains a missing authorization vulnerability in the admin ProductController RelatedProductAddPopup, CrossSellProductAddPopup and AssociatedProductAddPopup handlers that fail to verify parent product ownership. Authenticated vendors…

  • Medium 5.4

    NexoPOS through 6.3.0 Missing Authorization via Cash Register Session Actions

    NexoPOS through 6.3.0 contains a missing authorization vulnerability that allows authenticated cashiers to manipulate other cashiers' register sessions because CashRegistersService never compares used_by with the user. Attackers holding the default nexopos.us…

  • High 8.8

    Authlib RFC 7592 examples omit registration-access-token client binding

    Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.15 until 1.9.1, the documented ClientConfigurationEndpoint.authenticate_client and ClientConfigurationEndpoint.check_permission reference implementations look up a target client…

  • Medium 4.3

    IDOR in Netiket Information Technologies' EdoWEB

    Authorization bypass through User-Controlled key vulnerability in Netiket Information Technologies EdoWEB allows Accessing Functionality Not Properly Constrained by ACLs. This issue affects EdoWEB: before 780-g7.

  • Medium 5.4

    MrDoc through 1.1.1 Broken Access Control via manage_doc_share

    MrDoc through 1.1.1 contains a broken access control vulnerability in the manage_doc_share type 3 branch that allows authenticated users to modify other users' document share settings because updates lack an ownership check. Attackers can compute predictable …

  • Medium 5.3

    rssant 1.9.0 through 1.9.1 Information Disclosure via publish.story_get Endpoint

    rssant 1.9.0 through 1.9.1 contains an authorization bypass vulnerability that allows unauthenticated attackers to read stories from unpublished feeds through the anonymous publish.story_get endpoint. Because UnionStory.get_by_feed_offset ignores the only_pub…

  • Medium 6.5

    REDAXO before 5.21.4 Broken Access Control in Slice Operations

    REDAXO before 5.21.4 contains a broken access control vulnerability that allows authenticated editors to modify slices in unauthorized categories by pairing a permitted article with a foreign slice id. Attackers can abuse content/edit delete and edit function…

  • High 7.1

    REDAXO before 5.21.4 Missing Authorization in Media Pool Bulk Move

    REDAXO before 5.21.4 contains a missing authorization vulnerability in the media pool bulk move that checks only target category permission, ignoring the source category. Authenticated backend users with permission for one media category can move files from r…

  • Medium 5.3

    OpenPanel before 3.0.0 Missing Authorization via reference.getChartReferences

    OpenPanel before 3.0.0 contains a missing authorization vulnerability that allows unauthenticated attackers to read any project's annotations by calling the public reference.getChartReferences tRPC procedure. Attackers can send requests with guessable slug-ba…