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

1,874 results · Clear filters · Feed

  • Medium 4.3

    Tamery (Conar) 0.32.0 before 0.99.0 Broken Authorization via connectionsResources.create

    Tamery (formerly Conar) 0.32.0 before 0.99.0 contains a broken authorization vulnerability in the cloud sync API connectionsResources.create handler that allows authenticated users to attach resources to other users' connections. Attackers owning one connecti…

  • Medium 4.2

    ShowDoc through 3.9.5 Authorization Bypass via paramDescLib deleteEntries

    ShowDoc through 3.9.5 contains an authorization bypass vulnerability in the api/paramDescLib/deleteEntries endpoint that checks edit permission only for the first supplied entry id. Authenticated attackers can place their own entry id first and append other u…

  • Medium 5.4

    Blossom through 1.17.1 Authorization Bypass via Folder Endpoints

    Blossom through 1.17.1 contains an authorization bypass vulnerability that allows authenticated users to access other users' folders because FolderService queries filter only on folder id. Attackers can supply another user's folder id to /folder/info, /folder…

  • Medium 5.0

    FilePress through 3.0.1 Missing Authorization in PicHome Library Folder Operations

    FilePress through 3.0.1 contains a missing authorization vulnerability in dzz/pichome/library that allows authenticated users to manage other libraries' folders because checkuserperm_by_uid only checks membership of any library. Attackers who know another lib…

  • Medium 4.3

    PowerDNS-Admin through 2026.08.1 Authorization Bypass via /domain/<domain_name>/update

    PowerDNS-Admin through 2026.08.1 contains an authorization bypass vulnerability that allows authenticated User-role accounts to refresh secondary zones they cannot access by supplying a different 'domain' field in the JSON body. Attackers authorized for any o…

  • Medium 4.3

    HuLa-Server through 3.0.7 IDOR via /user/friend/page Friend List Disclosure

    HuLa-Server through 3.0.7 contains an insecure direct object reference vulnerability in FriendController.friendList that allows authenticated users to view other users' friend lists by supplying a uid parameter. Attackers can send GET requests to /user/friend…

  • Medium 5.4

    HuLa-Server through 3.0.7 IDOR via /privacy Endpoint in PrivacyController

    HuLa-Server through 3.0.7 contains an insecure direct object reference vulnerability in PrivacyController that allows authenticated users to access other users' privacy settings by supplying their uid. Attackers can send GET or POST requests to /privacy with …

  • Medium 5.4

    HuLa-Server through 3.0.7 IDOR via /feed/del Moment Deletion

    HuLa-Server through 3.0.7 contains an insecure direct object reference vulnerability in FeedController.delFeed that allows authenticated users to delete other users' moments by supplying arbitrary feedId values. Attackers can send POST requests to /feed/del w…

  • Medium 4.3

    RuoYi-Vue-Plus through 6.0.0 Data-Scope Bypass via /system/user/list/dept/{deptId}

    RuoYi-Vue-Plus through 6.0.0 contains an authorization bypass vulnerability in SysUserServiceImpl.selectUserListByDept that allows authenticated users to read users of other departments. Users holding system:user:list under a department-restricted role can re…

  • Medium 4.3

    Open Web Analytics before 1.14.1 Cross-Site Data Disclosure via REST Report API

    Open Web Analytics before 1.14.1 contains an authorization vulnerability that allows authenticated users to read other sites' report data because clickstream and transaction reports are not scoped to the authorized siteId. Users with view_reports on one site …

  • Medium 6.5

    ZenTao PMS through 22.6 Missing Authorization via doc.ajaxGetDoc

    ZenTao PMS through 22.6 contains a missing authorization vulnerability in doc::ajaxGetDoc() that allows authenticated users to read documents without checkPrivDoc() access checks. Low-privilege attackers can enumerate sequential document ids to retrieve body …

  • Medium 5.4

    Blossom through 1.17.1 Authorization Bypass via Picture Delete and Star Endpoints

    Blossom through 1.17.1 contains an authorization bypass vulnerability that allows authenticated non-readonly users to modify other users' pictures by supplying arbitrary picture ids. Attackers can call the picture delete, /picture/del/batch, or /picture/star …

  • Medium 4.3

    Miaomiaowu before 0.9.3 Cross-User Proxy Provider Config Disclosure via external_subscription_id

    Miaomiaowu before 0.9.3 contains an insecure direct object reference vulnerability in /api/user/proxy-provider-configs that allows authenticated users to read other users' configurations. Attackers can iterate the global auto-increment external_subscription_i…

  • Medium 4.3

    UNIT3D through 9.2.0 Private Playlist Disclosure via Playlist Zip Download

    UNIT3D through 9.2.0 contains a missing authorization vulnerability in PlaylistZipController::show that allows authenticated users to download other members' private playlists. Attackers can enumerate sequential playlist ids at the /playlist-zips/{playlist} e…

  • Medium 6.1

    Business::GoCardless versions before 1.01 for Perl complete redirect flows without checking the session token, letting a leaked redirect flow ID create payments against another customer's mandate

    Business::GoCardless versions before 1.01 for Perl complete redirect flows without checking the session token, letting a leaked redirect flow ID create payments against another customer's mandate. confirm_resource takes no session token from the caller. It re…

  • 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…

  • 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…

  • 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…

  • 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 …

  • 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-…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…