Weakness · High
CWE-863: Incorrect Authorization
What it is
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.
- Severity (our rating)
- High
- Likelihood of exploit
- High
- Introduced during
- Architecture and Design, Implementation, Operation
- Exploited in the wild
- 18 known exploited CVEs
What an attacker can do
- Read Application Data (Confidentiality)
- Read Files or Directories (Confidentiality)
- Modify Application Data (Integrity)
- Modify Files or Directories (Integrity)
- Gain Privileges or Assume Identity (Access Control)
- Bypass Protection Mechanism (Access Control)
- Execute Unauthorized Code or Commands (Confidentiality, Integrity, Availability)
- DoS: Crash, Exit, or Restart (Availability)
- DoS: Resource Consumption (CPU) (Availability)
- DoS: Resource Consumption (Memory) (Availability)
- DoS: Resource Consumption (Other) (Availability)
How to prevent it
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) 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.
- 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.
- 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 and the OWASP ESAPI Access Control feature.
- 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.
System Configuration
- 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.
How to find it
- Automated Static Analysis. Automated static analysis is useful for detecting commonly-used idioms for authorization. A tool may be able to analyze related configuration files, such as .htaccess in Apache web servers, or detect the usage of commonly-used authorization libraries. Generally, automated static analysis tools have difficulty detecting custom authorization schemes. Even if they can be customized to recognize these schemes, they might not be able to tell whether the scheme correctly performs the authorization in a way that cannot be bypassed or subverted by an attacker.
- Automated Dynamic Analysis. Automated dynamic analysis may not be able to find interfaces that are protected by authorization checks, even if those checks contain weaknesses.
- Manual Analysis. This weakness can be detected using tools and techniques that require manual (human) analysis, such as penetration testing, threat modeling, and interactive tools that allow the tester to record and modify an active session. Specifically, manual static analysis is useful for evaluating the correctness of custom authorization mechanisms.
- Manual Static Analysis - Binary or Bytecode. According to SOAR, the following detection techniques may be useful: Cost effective for partial coverage: Binary / Bytecode disassembler - then use manual analysis for vulnerabilities & anomalies
- Dynamic Analysis with Automated Results Interpretation. According to SOAR, the following detection techniques may be useful: Cost effective for partial coverage: Web Application Scanner Web Services Scanner Database Scanners
- Dynamic Analysis with Manual Results Interpretation. According to SOAR, the following detection techniques may be useful: Cost effective for partial coverage: Host Application Interface Scanner Fuzz Tester Framework-based Fuzzer Forced Path Execution Monitored Virtual Environment - run potentially malicious code in sandbox / wrapper / virtual machine, see if it does anything suspicious
- Manual Static Analysis - Source Code. According to SOAR, the following detection techniques may be useful: Cost effective for partial coverage: Focused Manual Spotcheck - Focused manual analysis of source Manual Source Code Review (not inspections)
- Automated Static Analysis - Source Code. According to SOAR, the following detection techniques may be useful: Cost effective for partial coverage: Context-configured Source Code Weakness Analyzer
- Architecture or Design Review. According to SOAR, the following detection techniques may be useful: Highly cost effective: Formal Methods / Correct-By-Construction Cost effective for partial coverage: Inspection (IEEE 1028 standard) (can apply to requirements, design, source code, etc.)
Exploited in the wild: 18 CVEs
Vulnerabilities caused by CWE-863 that attackers have used, from CISA's Known Exploited Vulnerabilities catalog, newest first.
- CVE-2026-71362Adobe Commerce and Magento Incorrect Authorization Vulnerability · added September 24, 2026
- CVE-2026-42016JFrog Artifactory Incorrect Authorization Vulnerability · added September 11, 2026
- CVE-2025-55177Meta Platforms WhatsApp Incorrect Authorization Vulnerability · added September 2, 2025
- CVE-2025-21480Qualcomm Multiple Chipsets Incorrect Authorization Vulnerability · added June 3, 2025
- CVE-2025-21479Qualcomm Multiple Chipsets Incorrect Authorization Vulnerability · added June 3, 2025
- CVE-2025-24200Apple iOS and iPadOS Incorrect Authorization Vulnerability · added February 12, 2025
- CVE-2024-21287Oracle Agile Product Lifecycle Management (PLM) Incorrect Authorization Vulnerability · added November 21, 2024
- CVE-2024-38856Apache OFBiz Incorrect Authorization Vulnerability · added August 27, 2024
- CVE-2021-40655D-Link DIR-605 Router Information Disclosure Vulnerability · added May 16, 2024
- CVE-2023-22518 ransomwareAtlassian Confluence Data Center and Server Improper Authorization Vulnerability · added November 7, 2023
- CVE-2023-38035 ransomwareIvanti Sentry Authentication Bypass Vulnerability · added August 22, 2023
- CVE-2021-3560Red Hat Polkit Incorrect Authorization Vulnerability · added May 12, 2023
- CVE-2023-24880 ransomwareMicrosoft Windows SmartScreen Security Feature Bypass Vulnerability · added March 14, 2023
- CVE-2023-21715Microsoft Office Publisher Security Feature Bypass Vulnerability · added February 14, 2023
- CVE-2022-41091 ransomwareMicrosoft Windows Mark of the Web (MOTW) Security Feature Bypass Vulnerability · added November 8, 2022
- CVE-2021-30533Google Chromium PopupBlocker Security Bypass Vulnerability · added June 27, 2022
- CVE-2019-7192 ransomwareQNAP Photo Station Improper Access Control Vulnerability · added June 8, 2022
- CVE-2021-22986 ransomwareF5 BIG-IP and BIG-IQ Centralized Management iControl REST Remote Code Execution Vulnerability · added November 3, 2021
H2 Security
Found it in your code?
We review where it appears, fix it with your team, and check it was not already used against you.
Talk to our teamT Academy
Stop writing it in the first place
Learn to build software and systems without weaknesses like this one, with practice on real hosts in your browser, every objective checked on the machine.
Start freeSource: MITRE Common Weakness Enumeration, CWE version 4.19.1. CWE is a trademark of The MITRE Corporation.