CWE-766: Critical Data Element Declared Public

BaseIncomplete

The product declares a critical variable, field, or member to be public when intended security policy requires it to be private.

View on MITRE
Back to CWE Lookup

Extended Description

This issue makes it more difficult to maintain the product, which indirectly affects security by making it more difficult or time-consuming to find and/or fix vulnerabilities. It also might make it easier to introduce vulnerabilities.

Technical Details

Structure
Simple

Applicable To

Languages
C++C#Java
Platforms

Frequently Asked Questions

What is CWE-766: Critical Data Element Declared Public?+

CWE-766: Critical Data Element Declared Public is a Common Weakness Enumeration (CWE) entry maintained by MITRE. The product declares a critical variable, field, or member to be public when intended security policy requires it to be private. This issue makes it more difficult to maintain the product, which indirectly affects security by making it more difficult or time-consuming to find and/or fix vulnerabilities. It also might make it easier to introduce vulnerabilities.

What are the security consequences of Critical Data Element Declared Public?+

If exploited, CWE-766 (Critical Data Element Declared Public) it can compromise Integrity, Confidentiality and Other, leading to outcomes such as Read Application Data, Modify Application Data and Reduce Maintainability.

How do you prevent or mitigate Critical Data Element Declared Public?+

Recommended mitigations for CWE-766 include: Data should be private, static, and final whenever possible. This will assure that your code is protected by instantiating early, preventing access, and preventing tampering.

Which programming languages are affected by Critical Data Element Declared Public?+

CWE-766 commonly affects C++, C# and Java. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What are real-world examples of Critical Data Element Declared Public?+

MITRE documents real CVEs mapped to CWE-766, including CVE-2010-3860. You can look up the full details of each CVE, including CVSS scores and remediation guidance, on our CVE Lookup tool.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-766 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More