Security

What is Exposure of Sensitive Information (CWE-200)?

Exposure of sensitive information to an unauthorized actor occurs when a system or application exposes sensitive data, such as passwords, credit card...

SP
Shreya Pillai July 28, 2026 5 min read Security
AI-friendly summary

What it is: Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) is a type of Broken Access Control vulnerability that occurs when a system or application exposes sensitive data, such as passwords, credit card numbers, or personal identifiable information, to actors who are not explicitly authorized to access that information.

Why it matters: CWE-200 can lead to unauthorized access, data breaches, and other security incidents. It is essential to implement robust access control measures to prevent this vulnerability.

How to fix it: You can fix CWE-200 by implementing the necessary access control measures, such as role-based access control (RBAC) and least privilege principle. Additionally, you should ensure that sensitive information is properly encrypted and stored securely.

TL;DR: Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) occurs when a system or application exposes sensitive data to actors who are not explicitly authorized to access it.

At-a-Glance

Field Value
CWE ID CWE-200
OWASP Category A01:2025 - Broken Access Control
CAPEC CAPEC-116, CAPEC-13, CAPEC-169, CAPEC-22, CAPEC-224, CAPEC-285, CAPEC-287, CAPEC-290, CAPEC-291, CAPEC-292, CAPEC-293, CAPEC-294, CAPEC-295, CAPEC-296, CAPEC-297, CAPEC-298, CAPEC-299, CAPEC-300, CAPEC-301, CAPEC-302, CAPEC-303, CAPEC-304, CAPEC-305, CAPEC-306, CAPEC-307, CAPEC-308, CAPEC-309, CAPEC-310, CAPEC-312, CAPEC-313, CAPEC-317, CAPEC-318, CAPEC-319, CAPEC-320, CAPEC-321, CAPEC-322, CAPEC-323, CAPEC-324, CAPEC-325, CAPEC-326, CAPEC-327, CAPEC-328, CAPEC-329, CAPEC-330, CAPEC-472, CAPEC-497, CAPEC-508, CAPEC-573, CAPEC-574, CAPEC-575, CAPEC-576, CAPEC-577, CAPEC-59, CAPEC-60, CAPEC-616, CAPEC-643, CAPEC-646, CAPEC-651, CAPEC-79
Typical Severity Critical
Affected Technologies Web Applications, APIs, Databases, Authentication Mechanisms
Detection Difficulty Moderate
Last Updated 2026-07-28

What is Exposure of Sensitive Information to an Unauthorized Actor?

Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) is a type of Broken Access Control vulnerability that occurs when a system or application exposes sensitive data, such as passwords, credit card numbers, or personal identifiable information, to actors who are not explicitly authorized to access that information. As defined by the MITRE Corporation under CWE-200, and classified by the OWASP Foundation under A01:2025 - Broken Access Control, this vulnerability can lead to unauthorized access, data breaches, and other security incidents.

Quick Summary

Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) is a critical vulnerability that occurs when sensitive information is exposed to actors who are not explicitly authorized to access it. This can happen through various means, including insecure database configurations, misconfigured permissions, or flawed authentication mechanisms. It is essential to implement robust access control measures to prevent this vulnerability.

Jump to: Quick Summary · Exposure of Sensitive Information to an Unauthorized Actor Overview · How Exposure of Sensitive Information to an Unauthorized Actor Works · Business Impact of Exposure of Sensitive Information to an Unauthorized Actor · Exposure of Sensitive Information to an Unauthorized Actor Attack Scenario · How to Detect Exposure of Sensitive Information to an Unauthorized Actor · How to Fix Exposure of Sensitive Information to an Unauthorized Actor · Framework-Specific Fixes for Exposure of Sensitive Information to an Unauthorized Actor · How to Ask AI to Check Your Code for Exposure of Sensitive Information to an Unauthorized Actor · Exposure of Sensitive Information to an Unauthorized Actor Best Practices Checklist · Exposure of Sensitive Information to an Unauthorized Actor FAQ · Vulnerabilities Related to Exposure of Sensitive Information to an Unauthorized Actor · References · Scan Your Own Site

Exposure of Sensitive Information to an Unauthorized Actor Overview

What: CWE-200 occurs when a system or application exposes sensitive data, such as passwords, credit card numbers, or personal identifiable information, to actors who are not explicitly authorized to access that information.

Why it matters: CWE-200 can lead to unauthorized access, data breaches, and other security incidents. It is essential to implement robust access control measures to prevent this vulnerability.

Where it occurs: CWE-200 can occur in various systems and applications, including web applications, APIs, databases, and authentication mechanisms.

Who is affected: Any actor who has access to the system or application may be affected by CWE-200. This includes users, administrators, and other actors who have privileges to access sensitive information.

Who is NOT affected: Actors who do not have access to the system or application are not affected by CWE-200.

How Exposure of Sensitive Information to an Unauthorized Actor Works

Root Cause

The root cause of CWE-200 is the exposure of sensitive information to actors who are not explicitly authorized to access it. This can happen through various means, including insecure database configurations, misconfigured permissions, or flawed authentication mechanisms.

Attack Flow

  1. An attacker gains access to the system or application.
  2. The attacker exploits a vulnerability in the system or application to gain unauthorized access to sensitive information.
  3. The attacker uses the sensitive information for malicious purposes.

Prerequisites to Exploit

  • The attacker must have access to the system or application.
  • The system or application must have a vulnerability that allows the attacker to gain unauthorized access to sensitive information.
  • The attacker must be able to exploit the vulnerability to gain access to the sensitive information.

Vulnerable Code

@app.route('/api/users/<user_id>')
def get_user(user_id):
    user = db.get_user(user_id)
    return jsonify(user.to_dict())  # includes password_hash, ssn, etc.

This code is vulnerable because any authenticated caller can fetch any user’s full record, including sensitive fields the requester has no right to see — there is no check that the caller is the account owner (or an admin) and no filtering of which fields get serialized.

Secure Code

@app.route('/api/users/<user_id>')
def get_user(user_id):
    if user_id != current_user.id and not current_user.is_admin:
        abort(403)
    user = db.get_user(user_id)
    return jsonify({'id': user.id, 'name': user.name, 'email': user.email})

This code is secure because it uses a try-except block to handle the PermissionError exception that occurs when trying to read the /etc/password file. If the permission is denied, the code prints an error message.

Business Impact of Exposure of Sensitive Information to an Unauthorized Actor

The business impact of CWE-200 includes:

  • Confidentiality: The exposure of sensitive information can lead to unauthorized access and data breaches.
  • Integrity: The exposure of sensitive information can lead to tampering with sensitive data.
  • Availability: The exposure of sensitive information can lead to system downtime due to security incidents.

The business consequences of CWE-200 include:

  • Financial losses due to data breaches and other security incidents.
  • Compliance issues due to non-adherence to regulatory requirements.
  • Reputation damage due to public disclosure of security incidents.

Exposure of Sensitive Information to an Unauthorized Actor Attack Scenario

  1. An attacker gains access to the system or application through a vulnerability in the system or application.
  2. The attacker exploits the vulnerability to gain unauthorized access to sensitive information.
  3. The attacker uses the sensitive information for malicious purposes.

How to Detect Exposure of Sensitive Information to an Unauthorized Actor

Manual Testing

  • Review the system or application’s code for any instances where sensitive information is being exposed to unauthorized actors.
  • Use manual testing tools, such as debuggers and log analyzers, to detect potential vulnerabilities.

Automated Scanners (SAST / DAST)

  • Use automated scanning tools, such as SAST and DAST scanners, to detect potential vulnerabilities in the system or application.
  • These tools can help identify potential vulnerabilities that may not be apparent through manual testing.

PenScan Detection

PenScan’s scanner engines actively test for this issue, so you can identify and fix vulnerabilities before they’re exploited.

False Positive Guidance

When reviewing findings from automated scanning tools, consider the following:

  • Check if the finding is related to a known vulnerability.
  • Verify that the system or application has been properly configured.
  • Review the code to ensure that it is secure.

How to Fix Exposure of Sensitive Information to an Unauthorized Actor

To fix CWE-200, implement the necessary access control measures, such as role-based access control (RBAC) and least privilege principle. Additionally, ensure that sensitive information is properly encrypted and stored securely.

Framework-Specific Fixes for Exposure of Sensitive Information to an Unauthorized Actor

  • Java: Use the @RolesAllowed annotation to restrict access to sensitive resources.
  • Node.js: Use the express framework’s built-in authentication mechanisms to protect sensitive routes.
  • Python/Django: Use the django.contrib.auth module to implement RBAC and least privilege principle.

How to Ask AI to Check Your Code for Exposure of Sensitive Information to an Unauthorized Actor

Review the following [language] code block for potential CWE-200 Exposure of Sensitive Information to an Unauthorized Actor vulnerabilities and rewrite it using role-based access control (RBAC) and least privilege principle:

import os

# vulnerable code
os.system('cat /etc/password')

Rewrite the code as follows:

import os

# secure code
try:
    with open('/etc/password', 'r') as f:
        print(f.read())
except PermissionError:
    print('Permission denied')

Exposure of Sensitive Information to an Unauthorized Actor Best Practices Checklist

✅ Implement role-based access control (RBAC) and least privilege principle. ✅ Ensure that sensitive information is properly encrypted and stored securely. ✅ Regularly review and update access control measures.

Exposure of Sensitive Information to an Unauthorized Actor FAQ

How do I define CWE-200 in plain language?

Exposure of Sensitive Information to an Unauthorized Actor (CWE-200) is a type of Broken Access Control vulnerability that occurs when a system or application exposes sensitive data, such as passwords, credit card numbers, or personal identifiable information, to actors who are not explicitly authorized to access that information.

What are the common consequences of CWE-200?

The common consequences of CWE-200 include exposure of sensitive information, which can lead to unauthorized access, data breaches, and other security incidents.

How do I detect CWE-200 in my application?

You can detect CWE-200 by reviewing your application’s code for any instances where sensitive information is being exposed to unauthorized actors. This may involve using automated scanning tools or performing manual code reviews.

What are some common causes of CWE-200?

Common causes of CWE-200 include insecure database configurations, misconfigured permissions, and flawed authentication mechanisms.

How do I prevent CWE-200 in my application?

You can prevent CWE-200 by implementing robust access control measures, such as role-based access control (RBAC) and least privilege principle. Additionally, you should ensure that sensitive information is properly encrypted and stored securely.

What are some best practices for preventing CWE-200?

Some best practices for preventing CWE-200 include validating user input, using secure protocols for data transmission, and regularly reviewing and updating access control measures.

How do I fix CWE-200 in my application?

You can fix CWE-200 by implementing the necessary access control measures, such as RBAC and least privilege principle. Additionally, you should ensure that sensitive information is properly encrypted and stored securely.

CWE ID Name Relationship
CWE-668 Exposure of Resource to Wrong Sphere ChildOf

References

Scan Your Own Site

Manual code review catches what you know to look for. An automated scan catches what you didn’t. Scan your own website using PenScan to find Exposure of Sensitive Information to an Unauthorized Actor and other risks before an attacker does.