Skip to content
OpenAdvisories

Weakness (CWE)

CWE-863: Incorrect Authorization

Class Incomplete

The product performs an authorization check when an actor attempts to access a resource or perform an action, but it does not correctly perform the check.

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

    Divide the product into anonymous, normal, privileged, and administrative areas. Reduce the attack surface by carefully mapping roles with data and functionality. Use role-based access control (RBAC) [REF-229] to enforce the roles at the appropriate boundaries.

    Note that this approach may not protect against horizontal authorization, i.e., it will not protect a user from attacking others with the same role.

  2. Architecture and Design

    Ensure that access control checks are performed related to the business logic. These checks may be different than the access control checks that are applied to more generic resources such as files, connections, processes, memory, and database records. For example, a database may restrict access for medical records to a specific database user, but each record might only be intended to be accessible to the patient and the patient's doctor [REF-7].

  3. Architecture and Design

    Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid.

    For example, consider using authorization frameworks such as the JAAS Authorization Framework [REF-233] and the OWASP ESAPI Access Control feature [REF-45].

  4. Architecture and Design

    For web applications, make sure that the access control mechanism is enforced correctly at the server side on every page. Users should not be able to access any unauthorized functionality or information by simply requesting direct access to that page.

    One way to do this is to ensure that all pages containing sensitive information are not cached, and that all such pages restrict access to requests that are accompanied by an active and authenticated session token associated with a user who has the required permissions to access that page.

  5. System Configuration, Installation

    Use the access control capabilities of your operating system and server environment and define your access control lists accordingly. Use a "default deny" policy when defining these ACLs.

Source: MITRE CWE-863

4,302 results · Feed

  • High 8.1

    Branch Protection Bypass via PR Retargeting Preserves Stale `official` Approval Flag

    Branch Protection Bypass via PR Retargeting Preserves Stale `official` Approval Flag

  • Medium 4.3

    Public-only API token restriction is not enforced on team API routes

    Public-only API token restriction is not enforced on team API routes

  • High 7.5

    Private org member list leaked via /members API endpoint — incomplete fix for PR #38145

    Private org member list leaked via /members API endpoint — incomplete fix for PR #38145

  • High 7.5

    REST API exposes organization membership of private organizations to public

    REST API exposes organization membership of private organizations to public

  • Medium 4.3

    OAuth token introspection returns metadata of tokens issued to other clients (RFC 7662 section 4 violation)

    OAuth token introspection returns metadata of tokens issued to other clients (RFC 7662 section 4 violation)

  • High 7.1

    Fork-PR Actions task can read a third private repository via the collaborative-owner branch (missing fork-PR guard)

    Fork-PR Actions task can read a third private repository via the collaborative-owner branch (missing fork-PR guard)

  • Medium 6.5

    Cross-Repo Information Disclosure via Org-Level Actions Run/Job APIs

    Cross-Repo Information Disclosure via Org-Level Actions Run/Job APIs

  • High 8.1

    OAuth2 sign-in reactivates an administrator-deactivated account on auth sources without refresh tokens (incomplete fix of #38009)

    OAuth2 sign-in reactivates an administrator-deactivated account on auth sources without refresh tokens (incomplete fix of #38009)

  • Critical 9.6

    Token public-only scope bypassed on Limited-visibility owners (Repository + Package categories) — residual after CVE-2026-25714 / PR #37118

    Token public-only scope bypassed on Limited-visibility owners (Repository + Package categories) — residual after CVE-2026-25714 / PR #37118

  • Low 3.1

    An authorization bypass vulnerability exists in Zimbra Collaboration (ZCS) before 10.1.17 due to improper authorization…

  • High 7.4

    rsync 3.1.0 < 3.5.0 Access Control Bypass via DNS Resolution Failure

    rsync 3.1.0 before 3.5.0 contains an access control bypass vulnerability that allows remote attackers to circumvent hosts deny rules by inducing DNS resolution failures during hostname-based access control evaluation. When a DNS lookup for a hostname-based de…

  • High 8.1
    CVE-2026-70463 Public exploit

    rsync 3.1.0 < 3.5.0 Authorization Bypass via auth users Directive Parsing

    rsync 3.1.0 before 3.5.0 contains an authorization bypass in auth users directive parsing. The auth users parser uses comma-only tokenization when splitting the user list, which fails to correctly handle entries of the form @Group Name where the group name co…

  • Medium 6.5

    rsync < 3.5.0 Filter Rule Bypass via --filter Merge Directive

    rsync before 3.5.0 contains a filter rule bypass vulnerability that allows authenticated clients to override module-level filter restrictions by supplying malicious --filter merge file directives. Attackers can inject client-side merge file directives during …

  • Medium 6.0

    JupyterLab 4.6.0 Plugin Manager Lock-Rule Enforcement Bypass

    JupyterLab (pip package 'jupyterlab') versions >=4.1.0,<=4.5.9 and >=4.6.0,<=4.6.1 contain a plugin manager lock-rule enforcement bypass. Two server-side enforcement gaps allow an authenticated user to circumvent administrator lock rules by making direct requ…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via getRefIDs

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the /api/block/getRefIDs endpoint that fails to check password-protected document tiers. Unauthenticated readers can discover that password-protected documents reference specific…

  • Medium 4.3

    OpenNMS v2 Alarm REST API inverted authorization check lets ROLE_REST users acknowledge alarms as any user and bypass read-only

    An incorrect authorization check in the v2 Alarm REST API in OpenNMS Meridian and Horizon allows a low-privileged authenticated user (ROLE_REST) to acknowledge, escalate, or clear alarms recorded as an arbitrary username, and, when also assigned ROLE_READONLY…

  • High 8.8

    @cedar-policy/authorization-for-expressjs has an authorization bypass via query string manipulation

    @cedar-policy/authorization-for-expressjs is an open-source Express.js middleware that integrates Cedar authorization into Express applications by mapping HTTP requests to Cedar actions and evaluating authorization policies before allowing requests to proceed…

  • Critical 9.6

    In OpenStack Designate before 22.0.1, zone creation checks (_is_subzone, _is_superzone, and the duplicate-zone DB const…

  • High 7.1

    etcd: Watch API authorization bypass via open-ended range requests

    etcd is a distributed key-value store for the data of a distributed system. Prior to versions 3.5.33, 3.6.14, and 3.7.1, a user granted READ permission on a single exact key can use the Watch gRPC API with clientv3.WithFromKey() to receive watch events for ev…

  • Medium 4.3

    Project restriction `restricted.containers.privilege=isolated` bypassable by omitting `security.idmap.isolated`

    An authorization bypass vulnerability in LXD allows an authenticated attacker to bypass project-level container isolation restrictions. When a project is configured with restrictions on container privileges (such as enforcing restricted.containers.privilege=i…

  • Critical 9.9

    Project restriction bypass via instance migration config override

    An authorization bypass vulnerability in LXD allows an authenticated attacker to bypass target project restrictions during instance migration. When migrating an instance to a target project, LXD accepts configuration overrides without validating the new confi…

  • Critical 9.9

    Cross-project instance copy bypasses target project restrictions via TOCTOU in config merge

    An authorization bypass vulnerability in LXD due to a timing flaw during configuration merging allows an authenticated attacker to bypass target project restrictions during cross-project instance copies. When copying an instance to a target project, LXD perfo…

  • Critical 9.9

    Cross-project cluster migration bypasses project restrictions via cluster notification flag

    An authorization bypass vulnerability in LXD allows an authenticated attacker to bypass target project security restrictions during cross-project instance migrations. When moving an instance cross-project to a different cluster member via POST /1.0/instances/…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via Tag API

    SiYuan before v3.7.4 contains an information disclosure vulnerability in the /api/tag/getTag endpoint that returns tag labels and occurrence counts from password-protected documents to unauthenticated readers. Attackers can enumerate tag vocabulary and intern…

  • Medium 5.8

    SiYuan before v3.7.4 Information Disclosure via UILayout Filter

    SiYuan versions before v3.7.4 contain an information disclosure vulnerability in the UILayout filter that fails to properly restrict administrator workspace state from publish readers. Unauthenticated attackers can retrieve the administrator's open documents,…

  • Medium 4.3

    Incorrect Authorization in GitLab

    GitLab has remediated an issue in GitLab EE affecting all versions from 19.1 before 19.1.4 and 19.2 before 19.2.2 that under certain conditions could have allowed an authenticated user to read policy configuration belonging to a namespace they were not author…

  • Medium 4.3

    Incorrect Authorization in GitLab

    GitLab has remediated an issue in GitLab CE/EE affecting all versions from 17.6 before 19.0.6, 19.1 before 19.1.4, and 19.2 before 19.2.2 that under certain conditions could have allowed an authenticated user with developer role to modify certain package regi…

  • High 8.5

    Incorrect Authorization in GitLab

    GitLab has remediated an issue in GitLab CE/EE affecting all versions from 19.0 before 19.0.6, 19.1 before 19.1.4, and 19.2 before 19.2.2 that under certain conditions could have allowed an authenticated user with developer-role permissions to execute CI/CD p…

  • Medium 4.3

    Bundle writers may alter trusted release information in JFrog Artifactory

    A bundle writer may create misleading release promotion information under specific conditions.

  • Medium 5.7

    Docker Sandboxes read-only runtime mount writable through its shared-export alias

    Docker Sandboxes (sbx) applies the read-only intent of a runtime host mount to the in-guest container bind only: the underlying virtio-fs host-edge grant is added to the sandbox's policy-share allowlist with no access mode. The directory stays writable at its…

  • Medium 5.3

    RustFS: Anonymous ListObjectVersions bypasses RestrictPublicBuckets through the ListBucket fallback

    RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.12, an anonymous ListObjectVersions request in rustfs/src/storage/access.rs that lacks a direct bucket-policy grant falls back to an s3:ListBucket check and returns before the po…

  • High 8.1

    RustFS: ForAllValues/ForAnyValue negated string conditions are transposed, inverting IAM and bucket-policy decisions

    RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.12, RustFS evaluates the ForAllValues: and ForAnyValue: set qualifiers with the negated string operators StringNotEquals, StringNotEqualsIgnoreCase, StringNotLike, ArnNotEquals, …

  • High 8.1

    RustF: Request headers can populate server-derived IAM condition keys, letting a caller satisfy identity-based policy conditions

    RustFS is a distributed object storage system built in Rust. Prior to 1.0.0-beta.12, RustFS get_condition_values folds attacker-controlled request headers from HeaderMap into server-derived userid, username, principaltype, groups, versionid, signatureversion,…

  • High 7.5

    RustFS: OPA policy plugin omits ExistingObjectTag conditions, allowing tag-based authorization policies to treat tagged objects as untagged

    RustFS is a distributed object storage system built in Rust. From 1.0.0-alpha.64 until 1.0.0-rc.1, RustFS external OPA authorization enabled by RUSTFS_POLICY_PLUGIN_URL in crates/iam/src/sys.rs sets PreparedIamAuth.needs_existing_object_tag incorrectly for Pr…

  • Medium 6.5

    RustFS: Version-specific object reads authorize the non-version action

    RustFS is a distributed object storage system built in Rust. RustFS authorizes explicit versionId reads in GetObject, CopyObject sources, and UploadPartCopy sources with s3:GetObject instead of s3:GetObjectVersion, allowing principals without historical-versi…

  • High 8.1

    Admidio has IDOR in `documents-files.php` `mode=move_save` that lets any folder-uploader exfiltrate files from private folders

    Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/documents-files.php` gates state-changing modes by checking that the actor has `hasUploadRight()` on the URL parameter `folder_uuid`. The `move_save` handler then operates o…

  • Medium 6.5

    Admidio: IDOR in documents-files.php allows cross-folder file rename and description changes by unauthorized uploaders

    Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/documents-files.php` mode `file_rename_save` shares the same root-cause shape as the cross-folder move bug (`05-documents-cross-folder-move-idor.md`): the top-level rights c…

  • Medium 6.5

    Admidio module-administrator can delete or reorder categories owned by other modules via dead authorization check in `modules/categories.php`

    Admidio is an open-source user management solution. `modules/categories.php` checks that the supplied `type` parameter (`ANN`, `EVT`, `ROL`, `USF`, …) corresponds to a module the actor administers. The follow-up "is this specific category editable by me" chec…

  • Medium 6.5

    Velociraptor Hunt Deletion With Insufficient Permission Check

    The hunt_delete() VQL function allows deleting hunts.  Velociraptor misapplied the permission check requiring only COLLECT_CLIENT (usually assigned to the "investigator" role) instead of the "DELETE_RESULTS" permission (usually only assigned to "administrator…

  • Medium 4.3

    Cookie Consent < 0.0.10 - Subscriber+ MaxMind License Key Update

    The Cookie Consent WordPress plugin before 0.0.10 does not correctly enforce its intended administrator-only capability check on the REST route that stores its geolocation service license key, so the route falls back to an authentication-only gate, allowing a…