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 5.9

    StatefulSet and ControllerRevision write permissions allow cross-namespace pod creation

    A confused deputy attack exists in the StatefulSet controller that allows a user with namespace-scoped write permissions on StatefulSet and ControllerRevision objects to create a cross-namespace pod. An attacker exploiting this vulnerability would have full c…

  • Medium 5.3

    QloApps 1.6.0 through 1.7.0 Unauthorized Hotel Review Submission via qlohotelreview

    QloApps 1.6.0 through 1.7.0 contains a missing authorization vulnerability in the qlohotelreview module's AddReview AJAX action that allows unauthenticated attackers to submit reviews for arbitrary orders. Attackers can reuse the publicly exposed review_ajax_…

  • Medium 6.5

    QloApps through 1.7.0 Guest Order Disclosure via id_cart in Order Confirmation

    QloApps through 1.7.0 contains an information disclosure vulnerability in OrderConfirmationController::init() that allows unauthenticated attackers to obtain guest order references and emails by supplying guest id_cart values. Attackers can iterate sequential…

  • Medium 6.4

    Consul vulnerable to an authorization bypass in health check registration

    HashiCorp Consul and Consul Enterprise are vulnerable to an authorization bypass in health check registration that may allow an authenticated user to modify health checks belonging to another service on the same node. This vulnerability (CVE-2026-115804) is f…

  • High 8.8

    Apache Vysper: Authorization bypass

    **UNSUPPORTED WHEN ASSIGNED**  Authorization bypass in Apache Vysper, all versions. Apache Vysper is an XMPP (Jabber) server library. Its XEP-0077 (In-Band Registration) implementation is missing an authentication check, allowing any authenticated user to com…

  • Medium 4.3

    iFlytek astron-agent Console Knowledge-List Endpoint FileInfoV2Service.java FileInfoV2Service.listKnowledgeByPage authorization

    A vulnerability was identified in iFlytek astron-agent up to 1.1.2. This impacts the function FileInfoV2Service.listKnowledgeByPage of the file FileInfoV2Service.java of the component Console Knowledge-List Endpoint. Such manipulation of the argument space-id…

  • Medium 5.3

    WordPress Royal Elementor Addons plugin <= 1.7.1069 - Insecure Direct Object References (IDOR) vulnerability

    Authorization Bypass Through User-Controlled Key vulnerability in WProyal Royal Elementor Addons royal-elementor-addons allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects Royal Elementor Addons: from n/a through 1.7.106…

  • High 7.6

    An upsert on the primary key in Ash ignores attribute multitenancy, so one tenant can read, overwrite and take over another tenant's records

    Authorization Bypass Through User-Controlled Key vulnerability in ash-project ash allows a user of one tenant to read, overwrite and take over another tenant's records via an upserting create action. Under attribute multitenancy, Ash.Actions.Create (lib/ash/a…

  • High 7.1

    Homestay3 homestay-backend 0.0.1-SNAPSHOT contains an IDOR in ChatServiceImpl. An authenticated user can view conversat…

  • Low 2.3

    OpenRemote before 1.31.0 Gateway Authorization Bypass via Reversible mapAssetId

    OpenRemote core (openremote-manager) before 1.31.0 does not perform realm or gateway-descendant authorization on inbound edge gateway events and maps event asset IDs only through the reversible GatewayConnector.mapAssetId transform. An attacker controlling a …

  • Medium 5.0

    OpenRemote before 1.31.0 Cross-Realm Information Disclosure via getGatewayActiveTunnelInfos

    OpenRemote core before 1.31.0 contains an authorization bypass vulnerability that allows authenticated users to read other realms' gateway tunnel information via getGatewayActiveTunnelInfos. Attackers can request the gateway tunnel endpoint with their own rea…

  • Low 2.1

    OpenRemote before 1.31.0 Cross-Realm Gateway Impersonation via Websocket

    OpenRemote before 1.31.0 contains an authorization bypass vulnerability that allows realm admins to impersonate gateways in other realms because GatewayService only checks the gateway ID, not the realm. Attackers with WRITE:ADMIN in one realm can create a ser…

  • Medium 5.0

    Rclone v1.68.0 before v1.75.2 Authorization Bypass in serve s3 Multipart Uploads

    Rclone from v1.68.0 before v1.75.2 contains an authorization bypass vulnerability in serve s3 --auth-proxy that allows authenticated tenants to manipulate other tenants' multipart uploads by referencing their upload IDs. Attackers who learn a victim's bucket,…

  • High 7.5

    phpMyFAQ before 4.1.10 Authorization Bypass via /api/faq/create openQuestionID

    phpMyFAQ before 4.1.10 contains an object-level authorization bypass vulnerability that allows unauthenticated attackers to modify or delete any visitor question by supplying an arbitrary openQuestionID to POST /api/faq/create. Attackers solving the CAPTCHA c…

  • High 8.8

    Dokploy through 0.30.10 Cross-Organization Authorization Bypass via Application tRPC Router

    Dokploy through 0.30.10 contains an authorization bypass vulnerability that allows owners or admins of any organization to control other tenants' applications by supplying foreign applicationId values. Attackers can call procedures like saveEnvironment, updat…

  • Low 2.7

    WP VR 8.3.0 - 9.0.2 - Contributor+ Arbitrary Tour Update via IDOR

    The WPVR WordPress plugin before 9.0.3 does not perform object-level ownership checks when updating virtual tours, allowing users with contributor-level access and above to modify, reconfigure and publish tours created by other users.

  • Low 3.8

    WP VR 9.0.0 - 9.0.2 - Contributor+ Arbitrary Tour Update and Disclosure via IDOR

    The WPVR WordPress plugin before 9.0.3 does not perform object-level authorization checks when reading and updating virtual tours, allowing users with contributor-level access and above to read and modify tours created by other users.

  • Medium 4.3

    ONEARMY community-platform before 2.165.2 IDOR via notification read endpoint

    ONEARMY community-platform before 2.165.2 contains an insecure direct object reference vulnerability that allows authenticated users to mark other users' notifications as read via POST /api/notifications/:id/read. Attackers can iterate sequential notification…

  • Medium 4.3

    Xiaozhi-esp32-server before 0.9.8 IDOR via device address-book endpoint

    Xiaozhi-esp32-server before 0.9.8 contains an insecure direct object reference vulnerability in the manager-api DeviceController.getAddressBook handler that allows authenticated users to read other users' device address books. Attackers with a normal or self-…

  • Medium 4.3

    yudao-cloud through 2026.09 IDOR via after-sale-log list endpoint

    yudao-cloud through 2026.09 contains an insecure direct object reference vulnerability in the mall trade module that allows authenticated members to read other members' after-sale operation logs by supplying arbitrary afterSaleId values. Attackers can enumera…

  • Medium 4.3

    RosarioSIS before 12.9.1 Missing Authorization in Teacher Save Handlers

    RosarioSIS before 12.9.1 contains a missing authorization vulnerability that allows authenticated teachers to write records for students outside their course period by supplying arbitrary student IDs. Attackers can modify the st_arr, values, or attendance POS…

  • Medium 4.3

    IDOR: User reads and modifies findings from other people's projects

    IDOR in Cervantes version v1.3-beta could allow an authenticated attacker ca access sensitive findings, proof-of-concept details, credentials, and client information from projects they do not belong to. Additionally, they can modify finding statuses and trans…

  • Medium 5.4

    BOLA Allows Cross-Project Target Tampering

    BOLA Allows Cross-Project Target Tampering  in Cervantes version v1.3-beta could allow an attacker modify or delete targets belonging to other projects without authorization, compromising the integrity of penetration testing scopes, results, and associated se…

  • Medium 4.3

    Scada-LTS AmCharts Data API AmChartValuesAPI.java HttpServletRequest.getParameter authorization

    A flaw has been found in Scada-LTS 2.8.0. Affected by this vulnerability is the function HttpServletRequest.getParameter of the file AmChartValuesAPI.java of the component AmCharts Data API. Executing a manipulation of the argument ids can lead to authorizati…

  • Medium 4.3

    GeoDirectory < 2.8.194 - Subscriber+ Arbitrary Listing Image Modification via IDOR

    The GeoDirectory WordPress plugin before 2.8.194 does not verify that a referenced attachment belongs to the listing being saved, allowing users with Subscriber-level access and above to modify the title, caption, moderation status and featured flag of images…

  • Medium 4.3

    Zimbra Collaboration Suite Cross-Account Authorization Bypass via Forged Shared-File Records

    A cross-account authorization vulnerability in Zimbra Collaboration Suite (ZCS) allows an authenticated user to insert forged shared-file records into another user's mailbox through FileSharedWithMeRequest. The request bypasses delegated-account authorization…

  • Medium 4.2

    Chatwoot before 4.17.0 Cross-Account Authorization Bypass via source_id

    Chatwoot before 4.17.0 contains an authorization bypass vulnerability that allows authenticated agent bots to access other accounts by supplying a foreign contact inbox source_id. Attackers can call the conversations create endpoint with another account's sou…

  • High 8.1

    Authentication Source Verification Issue in Okta Access Gateway

    Okta Access Gateway (OAG) does not validate the selected authentication source during sign-on. An authenticated user with an active session can modify the authentication source parameter, which may generate a SAML assertion granting access to the Admin Consol…

  • High 7.1

    Cross user deletion and modification of cart and wishlist rows in Ecommerce Template through unscoped primary key queries

    Authorization Bypass Through User-Controlled Key (CWE-639) in the cart and wishlist repositories of MarcosCamara01 Ecommerce Template allows any authenticated user to delete and modify the cart and wishlist rows of any other user, because cartRepository.delet…

  • Medium 6.8

    Lotus through 0.10.2 Authorization Bypass via switch_organization Endpoint

    Lotus through 0.10.2 contains an authorization bypass vulnerability in ChangeUserOrganizationView.post that allows authenticated users to join any organization by supplying its UUID. Self-registered attackers who know another organization's UUID can send a PO…

  • Medium 5.9

    Lotus through 0.10.2 Cross-Organization IDOR via SubscriptionViewSet

    Lotus through 0.10.2 contains an insecure direct object reference vulnerability in SubscriptionViewSet.get_object() that uses an unscoped queryset without organization filtering or permission checks. Authenticated users or API keys from any organization can s…

  • Medium 5.4

    QloApps through 1.7.0 IDOR via OrderDetailController Refund Request

    QloApps through 1.7.0 contains an insecure direct object reference vulnerability in OrderDetailController::displayAjaxSubmitRefundRequest() that allows authenticated customers to submit refunds for other customers' service lines. Attackers can submit foreign …

  • High 8.3

    Netmaker through 1.7.0 Authorization Bypass via updateExtClient Unscoped Lookup

    Netmaker through 1.7.0 contains an authorization bypass vulnerability in the updateExtClient handler that allows network-scoped users to modify external clients on other networks. Attackers with external client permissions on one network can send PUT requests…

  • Medium 4.3

    Bytebase before 3.16.0 Authorization Bypass via Rollout Service Task Run Handlers

    Bytebase before 3.16.0 contains an authorization bypass vulnerability in GetTaskRunLog, GetTaskRunSession and PreviewTaskRunRollback that allows authenticated users to access other projects' task runs by UID. Attackers with permission on one project can suppl…

  • Medium 4.3

    Bytebase before 3.16.0 Authorization Bypass via UpdateIssueComment

    Bytebase before 3.16.0 contains an authorization bypass vulnerability in the UpdateIssueComment handler that allows low-privileged project users to modify comments in other projects by supplying a foreign comment UID. Attackers with any project role, includin…

  • Medium 5.4

    WordPress myCred plugin <= 4.0.0-beta.1 - Insecure Direct Object References (IDOR) vulnerability

    Authorization Bypass Through User-Controlled Key vulnerability in myCred myCred mycred allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects myCred: from n/a through 4.0.0-beta.1.

  • Medium 4.9

    Photo Engine < 6.5.8 - Author+ Arbitrary Attachment Deletion via IDOR

    The Photo Engine (Media Organizer & Lightroom) WordPress plugin before 6.5.8 does not verify that a user is authorised to act on the targeted media attachment, allowing authenticated users with the author role and above to delete arbitrary media attachments, …

  • Medium 5.3

    FluentCart < 2.2.0 - Unauthenticated Customer Address Disclosure via IDOR

    The FluentCart A New Era of eCommerce WordPress plugin before 2.2.0 does not verify that a stored customer address selected during checkout belongs to the requester, allowing unauthenticated attackers to attach any customer's stored address to an order they p…

  • Medium 4.3

    Authorization Bypass Through User-Controlled Key in GitLab

    GitLab has remediated an issue in GitLab CE/EE affecting all versions from 15.10 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1 that, could have allowed an authenticated to read milestone metadata, including titles, descriptions, and full project p…

  • Medium 5.4

    Authorization Bypass in the Data Management REST API in Splunk Enterprise

    In Splunk Enterprise versions below 10.4.4, a user that holds a role with the preview_data_management_pipeline capability or edit_data_management_pipeline_job capability could read or delete Data Management SPL2 preview jobs and results outside their ownershi…