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,877 results · Clear filters · Feed

  • Medium 4.3

    XBoot through 3.3.4 Authorization Bypass via getByDepartmentId Endpoint

    Exrick XBoot through 3.3.4 contains an authorization bypass vulnerability that allows authenticated users to read user records of any department by ignoring role data scope. Attackers can request GET /xboot/user/getByDepartmentId/{departmentId} with arbitrary…

  • Medium 4.3

    Faveo Helpdesk through 2.0.3 Broken Access Control via /ticket/tooltip Endpoint

    Faveo Helpdesk through 2.0.3 contains a broken access control vulnerability that allows authenticated agents to read tickets in other departments via the getTooltip handler. Attackers can enumerate sequential ticketid values on GET /ticket/tooltip to read tic…

  • Medium 4.3

    Tbed through 20240319 Missing Authorization via setImgFileName Endpoint

    Tbed through 20240319 contains a missing authorization vulnerability that allows any authenticated user to rename other users' images through the /admin/setImgFileName endpoint. Attackers can supply a victim's imgname, exposed in public image URLs and album l…

  • Medium 4.3

    Cube-studio through 2026.09.01 IDOR via Pipeline View and Copy Endpoints

    Cube-studio through 2026.09.01 contains a missing authorization vulnerability in myapp/views/view_pipeline.py that allows authenticated users to view or copy other project groups' pipelines by id. Attackers can enumerate sequential pipeline ids via the web, l…

  • Medium 4.3

    REBUILD through 4.5.0 Missing Authorization via /project/comments/list Endpoint

    REBUILD through 4.5.0 contains a missing authorization vulnerability in TaskCommentController.commentList that allows authenticated low-privileged users to read task comments without project membership checks. Attackers can supply the id of a task in a privat…

  • Medium 5.4

    ChatWiki through 2.9.6 Cross-Tenant IDOR via Form Filter Management Endpoints

    ChatWiki through 2.9.6 contains an insecure direct object reference vulnerability that allows authenticated users to access another tenant's form filters by supplying arbitrary form_id values. Attackers can send sequential form_id values to getFormFilterList,…

  • Medium 4.3

    BeikeShop through 2.0.0.31 IDOR via RMA mark_as_shipped Endpoint

    BeikeShop through 2.0.0.31 contains an insecure direct object reference vulnerability in the markAsShipped handler of RmaController that allows authenticated customers to modify other customers' returns. Attackers can submit sequential RMA ids to the account/…

  • Medium 6.3

    FastBee through 2.1.0 IDOR via /iot/group By-ID Endpoints

    FastBee through 2.1.0 contains an insecure direct object reference vulnerability that allows authenticated low-privilege users to access other users' device groups because GroupController queries lack owner checks. Attackers, including self-registered users, …

  • Medium 6.5

    Risesoft Digital-Infrastructure through 9.6.11 Cross-Tenant Data Exposure via DownloadController

    Risesoft Digital-Infrastructure through 9.6.11 contains a missing authorization vulnerability in the log module DownloadController that allows authenticated users to export any tenant's personnel directory. Attackers can supply another tenant's tenantId to ex…

  • Medium 6.5

    Rocboss paopao-ce through 0.6.0-alpha.3 IDOR via DownloadAttachment Endpoint

    Rocboss paopao-ce through 0.6.0-alpha.3 contains an insecure direct object reference vulnerability in DownloadAttachment that allows authenticated users to access private media by supplying arbitrary content IDs. Attackers can enumerate sequential post_conten…

  • Medium 4.3

    PickMall lilishop through 5.0.0 IDOR via /buyer/trade/receipt/{id}

    PickMall lilishop through 5.0.0 contains an insecure direct object reference vulnerability that allows authenticated buyers to read other buyers' invoice records because ReceiptServiceImpl.getDetail performs no ownership check. Attackers can supply another bu…

  • Medium 5.4

    MrDoc through 1.1.1 Missing Authorization via api/import_local_doc/ Endpoint

    MrDoc through 1.1.1 contains a missing object-level authorization vulnerability in the ImportLocalDoc API that allows authenticated users to modify other users' documents and projects. Attackers can send PUT requests with arbitrary sort_data document ids to p…

  • Medium 5.4

    DooTask through 1.9.66 Missing Authorization in OKR Comment Dialogs

    DooTask through 1.9.66 contains a missing authorization vulnerability in WebSocketDialog::checkDialog() that skips the membership check for dialogs with group_type 'okr'. Authenticated users can supply the dialog_id of OKR comment dialogs to msg__list, msg__o…

  • Medium 5.4

    Aureus ERP through 1.6.0 Multi-Company Authorization Bypass via company_id

    Aureus ERP through 1.6.0 contains an authorization bypass vulnerability that allows authenticated API users to create or move records into disallowed companies by supplying a foreign company_id. Attackers can submit create or update requests to plugin REST AP…

  • Medium 5.4

    abp-next-admin 10.2.0 through 10.6.0 IDOR in AIManagement Chat Conversations

    abp-next-admin 10.2.0 through 10.6.0 contains an insecure direct object reference vulnerability in the LINGYUN.Abp.AIManagement module that allows authenticated users to access other users' AI chat conversations by supplying their ConversationId. Attackers ho…

  • Medium 4.3

    IoTSharp through 3.6.1 Cross-Tenant Data Exposure via Customers and Devices APIs

    IoTSharp through 3.6.1 contains an insecure direct object reference vulnerability that allows any authenticated user to read other tenants' data because Customers and Devices API handlers do not scope queries to the caller's tenant. Attackers can self-registe…

  • Medium 4.3

    TDuck Survey Form through 5.3 Missing Authorization via /user/form/setting/{key}

    TDuck Survey Form through 5.3 contains a missing authorization vulnerability that allows any authenticated user to read other owners' raw form settings via GET /user/form/setting/{key}. Attackers can supply the 8-character form key from a public fill link to …

  • Medium 5.3

    O2OA through 10.0.2-ce Cross-Work Attachment Read via Attachment Download Endpoint

    O2OA through 10.0.2-ce contains an authorization bypass vulnerability in x_processplatform_assemble_surface that allows authenticated users to download attachments from other works. ActionDownloadWithWork and ActionDownloadWithWorkStream never verify that the…

  • Medium 4.9

    Oqtane Framework through 10.2.6 Cross-Site Settings Disclosure via Setting API

    Oqtane Framework through 10.2.6 contains an authorization bypass vulnerability in SettingController that allows a site administrator to read another co-tenant site's private settings. Attackers with the Administrators role on one site can request another site…

  • Medium 6.5

    DataCap through 2025.1.1 IDOR via BaseController.getInfoForPath Exposes Credentials

    DataCap through 2025.1.1 contains an insecure direct object reference vulnerability in BaseController.getInfoForPath that allows authenticated users to read other users' datasources, snippets and dashboards by numeric id. Low-privileged attackers can enumerat…

  • Medium 6.5

    Mall4cloud through 4.0 IDOR Exposing Buyer Addresses via order_addr Endpoint

    Mall4cloud through 4.0 contains an insecure direct object reference vulnerability that allows authenticated merchants to read other shops' buyer shipping addresses via the multishop OrderController getOrderAddr handler. Attackers can enumerate auto-increment …

  • Medium 5.4

    roncoo-education through 25.0.0-RELEASE IDOR via Order Pay Cancel and Continue Endpoints

    roncoo-education through 25.0.0-RELEASE contains an insecure direct object reference vulnerability that allows authenticated users to cancel or continue payment on other users' orders. Attackers can supply another user's order number to the pay cancel or cont…

  • Medium 5.4

    B3log Solo through 4.4.0 Missing Authorization in ArticleConsole

    B3log Solo through 4.4.0 contains a missing authorization vulnerability in ArticleConsole that allows authenticated authors to access other authors' articles by omitting per-author ownership checks. Attackers can query the console articles status endpoint to …

  • Medium 4.2

    Jeepay through 3.2.9 IDOR via DELETE /api/divisionReceivers/{recordId}

    Jeepay through 3.2.9 contains an insecure direct object reference vulnerability that allows authenticated merchant users to delete other merchants' division receivers by exploiting an ownership check on the wrong column. Attackers holding ENT_DIVISION_RECEIVE…

  • Medium 4.3

    PlayEdu through 2.3 Missing Authorization via Student CourseController Endpoints

    PlayEdu through 2.3 contains a missing authorization vulnerability in the CourseController that allows authenticated students to access department-restricted courses by omitting the department visibility check. Attackers can enumerate sequential course and at…

  • Medium 5.4

    Tandoor Recipes: Cross-user IDOR in /api/recipe-from-source/ bookmarklet import — read and destroy another space member's pending BookmarkletImport

    Tandoor Recipes is an application for managing recipes, planning meals, and building shopping lists. Prior to 2.6.10, looks up BookmarkletImport by sequential primary key within the active Space without restricting created_by to the requesting user when an au…

  • Medium 6.5

    Open Zaak: /zaken/_zoek and /enkelvoudiginformatieobjecten/_zoek endpoints do not filter result lists based on authorizations linked to token

    Open Zaak is an open-source data and services layer for Dutch case-oriented working. From 1.0.0 until 1.27.2, 1.28.2, and 1.29.0, the POST search endpoints /zaken/api/v1/zaken/_zoek and /documenten/api/v1/enkelvoudiginformatieobjecten/_zoek do not filter resu…

  • Medium 5.4

    WordPress SmartCrawl plugin <= 3.16.4 - Insecure Direct Object References (IDOR) vulnerability

    Authorization Bypass Through User-Controlled Key vulnerability in WPMU DEV SmartCrawl smartcrawl-seo allows Exploiting Incorrectly Configured Access Control Security Levels.This issue affects SmartCrawl: from n/a through 3.16.4.

  • Medium 6.5

    IDOR in SFM Software's Costifier

    Authorization bypass through User-Controlled key vulnerability in SFM Software Technologies Inc. Costifier allows Exploitation of Trusted Identifiers. This issue affects Costifier: through 2026-10-16.  NOTE: The vendor was contacted early about this disclosur…

  • Medium 4.3

    Dokan: AI Powered WooCommerce Multivendor Marketplace Solution <= 5.2.1 - Insecure Direct Object Reference to Authenticated (Custom+) Limited Account Takeover via 'password' Parameter to /wp-json/dokan/v1/customers/{id}

    The Dokan: AI Powered WooCommerce Multivendor Marketplace Solution – Build Your Own Amazon, eBay, Etsy plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 5.2.1 via the 'password' parameter due to missi…

  • Medium 6.4

    ClassroomIO through 1.0.0 IDOR via Course Submission Update, Grade and Delete Routes

    ClassroomIO through 1.0.0 contains an insecure direct object reference vulnerability in the Hono API course submission routes that allows course tutors or admins to modify submissions in other courses. Attackers can supply their own course id with another cou…

  • Medium 6.0

    cool-admin-midway through 8.0.0 Missing Authorization via System Role Endpoints

    cool-admin-midway through 8.0.0 contains an authorization bypass vulnerability that allows non-superadmin admins to read, modify, or delete other admins' roles by supplying arbitrary role ids. Attackers holding ordinary sys:role permissions can call /admin/sy…

  • Medium 6.5

    MinDoc through 2.2-beta.2 IDOR via /api/:key/content/:id GET Branch

    MinDoc through 2.2-beta.2 contains an insecure direct object reference vulnerability in DocumentController.Content that allows authenticated users to read documents from unauthorized books. Attackers holding a non-observer role on any book can name that book …

  • Medium 6.5

    BISHENG through 3.0.0-beta4 IDOR via /api/v1/knowledge/file_bbox

    BISHENG through 3.0.0-beta4 contains an insecure direct object reference vulnerability that allows authenticated low-privileged users to read other users' parsed documents by supplying arbitrary file_id values. Attackers can enumerate sequential file ids agai…

  • Medium 5.4

    SendPortal sendportal-core through 4.0.1 Cross-Workspace Tag Attachment via Subscriber Form

    SendPortal sendportal-core through 4.0.1 contains an authorization bypass vulnerability that allows authenticated workspace members to attach subscribers to other workspaces' tags by supplying unvalidated tag IDs. Attackers can submit sequential tag IDs via t…

  • Medium 6.3

    zhontai Admin.Core through 10.1.0 Authorization Bypass via User and Organization By-ID Endpoints

    zhontai Admin.Core through 10.1.0 contains an authorization bypass vulnerability that allows authenticated users to ignore department DataScope restrictions by supplying out-of-scope record ids. Attackers holding user or organization module permissions with D…

  • Medium 4.2

    metasfresh through 5.175 Authorization Bypass via /rest/api/board REST API

    metasfresh through 5.175 contains a missing record-level authorization vulnerability in BoardRestController that allows authenticated low-privilege users to bypass role and organization access checks. Attackers can call the getBoard, getCard, addCard, removeC…

  • Medium 5.4

    Likeshop through 3.5.1 IDOR via AfterSale API Refund Endpoints

    Likeshop through 3.5.1 contains an insecure direct object reference vulnerability in AfterSale.php and AfterSaleLogic.php that lets authenticated users access other customers' after-sale records by supplying their ids. Attackers with self-registered accounts …

  • Medium 4.3

    Trudesk through 1.2.11 Authorization Bypass via GET /api/v1/messages/conversation/:id

    Trudesk through 1.2.11 contains an authorization bypass vulnerability that allows any authenticated user to read private conversations by supplying another conversation's id. Attackers can request GET /api/v1/messages/conversation/:id, which lacks participant…

  • Medium 5.4

    ZenTao PMS through 22.6 Authorization Bypass via action::editComment

    ZenTao PMS through 22.6 contains an authorization bypass vulnerability in action::editComment that allows authenticated users to read and overwrite other users' comments by supplying an arbitrary actionID. Attackers can iterate sequential action ids to modify…