{"@ID": "359", "@Name": "Exposure of Private Personal Information to an Unauthorized Actor", "@Abstraction": "Base", "@Structure": "Simple", "@Status": "Incomplete", "@Diagram": "/data/images/CWE-359-Diagram.png", "Description": "The product does not properly prevent a person's private, personal information from being accessed by actors who either (1) are not explicitly authorized to access the information or (2) do not have the implicit consent of the person about whom the information is collected.", "Related_Weaknesses": {"Related_Weakness": {"@Nature": "ChildOf", "@CWE_ID": "200", "@View_ID": "1000", "@Ordinal": "Primary"}}, "Weakness_Ordinalities": {"Weakness_Ordinality": [{"Ordinality": "Primary"}, {"Ordinality": "Resultant"}]}, "Applicable_Platforms": {"Language": {"@Class": "Not Language-Specific", "@Prevalence": "Undetermined"}, "Technology": {"@Class": "Mobile", "@Prevalence": "Undetermined"}}, "Alternate_Terms": {"Alternate_Term": [{"Term": "Privacy violation"}, {"Term": "Privacy leak / Privacy leakage"}, {"Term": "PPI", "Description": "acronym for Private Personal Information"}, {"Term": "PII", "Description": "acronym for Personally Identifiable Information"}, {"Term": "PHI", "Description": "acronym for Protected Health Information"}]}, "Modes_Of_Introduction": {"Introduction": [{"Phase": "Architecture and Design", "Note": "OMISSION: This weakness is caused by missing a security tactic during the architecture and design phase."}, {"Phase": "Implementation"}, {"Phase": "Operation"}]}, "Common_Consequences": {"Consequence": {"Scope": "Confidentiality", "Impact": "Read Application Data"}}, "Detection_Methods": {"Detection_Method": [{"Method": "Architecture or Design Review", "Description": {"xhtml:p": ["Private personal data can enter a program in a variety of ways:", "If the data is written to an external location - such as the console, file system, or network - a privacy violation may occur."], "xhtml:ul": {"xhtml:li": ["Directly from the user in the form of a password or personal information", "Accessed from a database or other data store by the application", "Indirectly from a partner or other third party"]}}, "Effectiveness": "High"}, {"@Detection_Method_ID": "DM-14", "Method": "Automated Static Analysis", "Description": "Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect \"sources\" (origins of input) with \"sinks\" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)", "Effectiveness": "High"}, {"Method": "Automated Static Analysis", "Description": "Tools are available to analyze documents\n\t     (such as PDF, Word, etc.) to look for private information\n\t     such as names, addresses, etc."}]}, "Potential_Mitigations": {"Mitigation": [{"Phase": "Requirements", "Description": {"xhtml:p": "Identify and consult all relevant regulations for personal privacy.  An organization may be required to comply with certain federal and state regulations, depending on its location, the type of business it conducts, and the nature of any private data it handles.  Regulations may include Safe Harbor Privacy Framework [REF-340], Gramm-Leach Bliley Act (GLBA) [REF-341], Health Insurance Portability and Accountability Act (HIPAA) [REF-342], General Data Protection Regulation (GDPR) [REF-1047], California Consumer Privacy Act (CCPA) [REF-1048], and others."}}, {"Phase": "Architecture and Design", "Description": {"xhtml:p": "Carefully evaluate how secure design may interfere with privacy, and vice versa.  Security and privacy concerns often seem to compete with each other. From a security perspective, all important operations should be recorded so that any anomalous activity can later be identified. However, when private data is involved, this practice can in fact create risk. Although there are many ways in which private data can be handled unsafely, a common risk stems from misplaced trust. Programmers often trust the operating environment in which a program runs, and therefore believe that it is acceptable store private information on the file system, in the registry, or in other locally-controlled resources. However, even if access to certain resources is restricted, this does not guarantee that the individuals who do have access can be trusted."}}, {"@Mitigation_ID": "MIT-57", "Phase": ["Implementation", "Operation"], "Strategy": "Attack Surface Reduction", "Description": {"xhtml:p": ["Some tools can automatically analyze\n\t\tdocuments to redact, strip, or \"sanitize\" private\n\t\tinformation, although some human review might be\n\t\tnecessary. Tools may vary in terms of which document\n\t\tformats can be processed.", "When calling an external program to automatically\n\t\t  generate or convert documents, invoke the program with\n\t\t  any available options that avoid generating sensitive\n\t\t  metadata.  Some formats have well-defined fields that\n\t\t  could contain private data, such as Exchangeable image\n\t\t  file format (Exif), which can contain potentially\n\t\t  sensitive metadata such as geolocation, date, and time\n\t\t  [REF-1515] [REF-1516]."]}}]}, "Demonstrative_Examples": {"Demonstrative_Example": [{"Intro_Text": "The following code contains a logging statement that tracks the contents of records added to a database by storing them in a log file. Among other values that are stored, the getPassword() function returns the user-supplied plaintext password associated with the account.", "Example_Code": {"@Nature": "Bad", "@Language": "C#", "xhtml:div": {"xhtml:br": [null, null], "#text": "pass = GetPassword();...dbmsLog.WriteLine(id + \":\" + pass + \":\" + type + \":\" + tstamp);"}}, "Body_Text": "The code in the example above logs a plaintext password to the filesystem. Although many developers trust the filesystem as a safe storage location for data, it should not be trusted implicitly, particularly when privacy is a concern."}, {"@Demonstrative_Example_ID": "DX-111", "Intro_Text": "This code uses location to determine the user's current US State location.", "Body_Text": ["First the application must declare that it requires the ACCESS_FINE_LOCATION permission in the application's manifest.xml:", "During execution, a call to getLastLocation() will return a location based on the application's location permissions. In this case the application has permission for the most accurate location possible:", "While the application needs this information, it does not need to use the ACCESS_FINE_LOCATION permission, as the ACCESS_COARSE_LOCATION permission will be sufficient to identify which US state the user is in."], "Example_Code": [{"@Nature": "Bad", "@Language": "XML", "xhtml:div": "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>"}, {"@Nature": "Bad", "@Language": "Java", "xhtml:div": {"xhtml:br": [null, null, null, null], "#text": "locationClient = new LocationClient(this, this, this);locationClient.connect();Location userCurrLocation;userCurrLocation = locationClient.getLastLocation();deriveStateFromCoords(userCurrLocation);"}}]}, {"Intro_Text": "In 2004, an employee at AOL sold approximately 92 million private customer e-mail addresses to a spammer marketing an offshore gambling web site [REF-338]. In response to such high-profile exploits, the collection and management of private data is becoming increasingly regulated."}]}, "Observed_Examples": {"Observed_Example": [{"Reference": "CVE-2023-29850", "Description": "Library management product does not strip Exif data from images", "Link": "https://www.cve.org/CVERecord?id=CVE-2023-29850"}, {"Reference": "CVE-2020-26220", "Description": "Customer relationship management (CRM) product does not strip Exif data from images", "Link": "https://www.cve.org/CVERecord?id=CVE-2020-26220"}, {"Reference": "CVE-2005-0406", "Description": "Some image editors modify a JPEG image, but the original EXIF thumbnail image is left intact within the JPEG. (Also an interaction error).", "Link": "https://www.cve.org/CVERecord?id=CVE-2005-0406"}]}, "Taxonomy_Mappings": {"Taxonomy_Mapping": [{"@Taxonomy_Name": "7 Pernicious Kingdoms", "Entry_Name": "Privacy Violation"}, {"@Taxonomy_Name": "The CERT Oracle Secure Coding Standard for Java (2011)", "Entry_ID": "FIO13-J", "Entry_Name": "Do not log sensitive information outside a trust boundary"}]}, "Related_Attack_Patterns": {"Related_Attack_Pattern": [{"@CAPEC_ID": "464"}, {"@CAPEC_ID": "467"}, {"@CAPEC_ID": "498"}, {"@CAPEC_ID": "508"}]}, "References": {"Reference": [{"@External_Reference_ID": "REF-6"}, {"@External_Reference_ID": "REF-338"}, {"@External_Reference_ID": "REF-339"}, {"@External_Reference_ID": "REF-340"}, {"@External_Reference_ID": "REF-341"}, {"@External_Reference_ID": "REF-342"}, {"@External_Reference_ID": "REF-343"}, {"@External_Reference_ID": "REF-267"}, {"@External_Reference_ID": "REF-172"}, {"@External_Reference_ID": "REF-1047"}, {"@External_Reference_ID": "REF-1048"}, {"@External_Reference_ID": "REF-1515"}, {"@External_Reference_ID": "REF-1516"}]}, "Mapping_Notes": {"Usage": "Allowed", "Rationale": "This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.", "Comments": "Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.", "Reasons": {"Reason": {"@Type": "Acceptable-Use"}}}, "Notes": {"Note": [{"@Type": "Maintenance", "#text": "This entry overlaps many other\n            entries that are not organized around the kind of\n            sensitive information that is exposed, such as CWE-212:\n            Improper Removal of Sensitive Information Before Storage\n            or Transfer.  However, because privacy is treated with\n            such importance due to regulations and other factors, and\n            it may be useful for weakness-finding tools to highlight\n            capabilities that detect personal private information\n            instead of system information, it is not clear whether -\n            or how - this entry should be deprecated."}, {"@Type": "Other", "xhtml:p": ["There are many types of sensitive information that products must protect from attackers, including system data, communications, configuration, business secrets, intellectual property, and an individual's personal (private) information.  Private personal information (PPI) may include a password, phone number, geographic location, personal messages, credit card number, etc.  Private information is important to consider whether the person is a user of the product, or part of a data set that is processed by the product.  An exposure of private information does not necessarily prevent the product from working properly, and in fact the exposure might be intended by the developer, e.g. as part of data sharing with other organizations.  However, the exposure of personal private information can still be undesirable or explicitly prohibited by law or regulation.", "Some types of private information include:", "Some of this information may be characterized as PII (Personally Identifiable Information), Protected Health Information (PHI), etc. Categories of private information may overlap or vary based on the intended usage or the policies and practices of a particular industry.", "Sometimes data that is not labeled as private can have a privacy implication in a different context. For example, student identification numbers are usually not considered private because there is no explicit and publicly-available mapping to an individual student's personal information. However, if a school generates identification numbers based on student social security numbers, then the identification numbers should be considered private."], "xhtml:ul": {"xhtml:li": ["Government identifiers, such as Social Security Numbers", "Contact information, such as home addresses and telephone numbers", "Geographic location - where the user is (or was)", "Employment history", "Financial data - such as credit card numbers, salary, bank accounts, and debts", "Pictures, video, or audio", "Behavioral patterns - such as web surfing history, when certain activities are performed, etc.", "Relationships (and types of relationships) with others - family, friends, contacts, etc.", "Communications - e-mail addresses, private messages, text messages, chat logs, etc.", "Health - medical conditions, insurance status, prescription records", "Account passwords and other credentials"]}}]}, "Content_History": {"Submission": {"Submission_Name": "7 Pernicious Kingdoms", "Submission_Date": "2006-07-19", "Submission_Version": "Draft 3", "Submission_ReleaseDate": "2006-07-19"}, "Modification": [{"Modification_Name": "Eric Dalci", "Modification_Organization": "Cigital", "Modification_Date": "2008-07-01", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Time_of_Introduction"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2008-09-08", "Modification_Version": "1.0", "Modification_ReleaseDate": "2008-09-09", "Modification_Comment": "updated Relationships, Other_Notes, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-03-10", "Modification_Version": "1.3", "Modification_ReleaseDate": "2009-03-10", "Modification_Comment": "updated Other_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-07-27", "Modification_Version": "1.5", "Modification_ReleaseDate": "2009-07-27", "Modification_Comment": "updated Demonstrative_Examples"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2009-12-28", "Modification_Version": "1.7", "Modification_ReleaseDate": "2009-12-28", "Modification_Comment": "updated Other_Notes, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2010-02-16", "Modification_Version": "1.8", "Modification_ReleaseDate": "2010-02-16", "Modification_Comment": "updated Other_Notes, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-03-29", "Modification_Version": "1.12", "Modification_ReleaseDate": "2011-03-30", "Modification_Comment": "updated Other_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-06-01", "Modification_Version": "1.13", "Modification_ReleaseDate": "2011-06-01", "Modification_Comment": "updated Common_Consequences, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2011-09-13", "Modification_Version": "2.1", "Modification_ReleaseDate": "2011-09-13", "Modification_Comment": "updated Other_Notes, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2012-05-11", "Modification_Version": "2.2", "Modification_ReleaseDate": "2012-05-15", "Modification_Comment": "updated Related_Attack_Patterns, Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2013-02-21", "Modification_Version": "2.4", "Modification_ReleaseDate": "2013-02-21", "Modification_Comment": "updated Applicable_Platforms, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-02-18", "Modification_Version": "2.6", "Modification_ReleaseDate": "2014-02-19", "Modification_Comment": "updated Alternate_Terms, Demonstrative_Examples, Description, Name, Other_Notes, References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2014-07-30", "Modification_Version": "2.8", "Modification_ReleaseDate": "2014-07-31", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2017-11-08", "Modification_Version": "3.0", "Modification_ReleaseDate": "2017-11-08", "Modification_Comment": "updated Modes_of_Introduction, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2018-03-27", "Modification_Version": "3.1", "Modification_ReleaseDate": "2018-03-27", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2019-01-03", "Modification_Version": "3.2", "Modification_ReleaseDate": "2019-01-03", "Modification_Comment": "updated Relationships, Taxonomy_Mappings"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-02-24", "Modification_Version": "4.0", "Modification_ReleaseDate": "2020-02-24", "Modification_Comment": "updated Alternate_Terms, Applicable_Platforms, Demonstrative_Examples, Description, Detection_Factors, Maintenance_Notes, Name, Potential_Mitigations, References, Relationships, Type"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-08-20", "Modification_Version": "4.2", "Modification_ReleaseDate": "2020-08-20", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2020-12-10", "Modification_Version": "4.3", "Modification_ReleaseDate": "2020-12-10", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-03-15", "Modification_Version": "4.4", "Modification_ReleaseDate": "2021-03-15", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2021-10-28", "Modification_Version": "4.6", "Modification_ReleaseDate": "2021-10-28", "Modification_Comment": "updated Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-01-31", "Modification_Version": "4.10", "Modification_ReleaseDate": "2023-01-31", "Modification_Comment": "updated Related_Attack_Patterns"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-04-27", "Modification_Version": "4.11", "Modification_ReleaseDate": "2023-04-27", "Modification_Comment": "updated Detection_Factors, References, Relationships"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2023-06-29", "Modification_Version": "4.12", "Modification_ReleaseDate": "2023-06-29", "Modification_Comment": "updated Mapping_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2024-11-19", "Modification_Version": "4.16", "Modification_ReleaseDate": "2024-11-19", "Modification_Comment": "updated Description, Diagram, Other_Notes"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-09-09", "Modification_Version": "4.18", "Modification_ReleaseDate": "2025-09-09", "Modification_Comment": "updated References"}, {"Modification_Name": "CWE Content Team", "Modification_Organization": "MITRE", "Modification_Date": "2025-12-11", "Modification_Version": "4.19", "Modification_ReleaseDate": "2025-12-11", "Modification_Comment": "updated Alternate_Terms, Detection_Factors, Maintenance_Notes, Observed_Examples, Other_Notes, Potential_Mitigations, References, Relationships, Weakness_Ordinalities"}], "Contribution": [{"@Type": "Content", "Contribution_Name": "Michal Biesiada", "Contribution_Date": "2023-02-08", "Contribution_Version": "4.19", "Contribution_ReleaseDate": "2025-12-11", "Contribution_Comment": "suggested covering PPI in documents such as PDFs"}, {"@Type": "Content", "Contribution_Name": "Michal Biesiada", "Contribution_Date": "2023-03-29", "Contribution_Version": "4.19", "Contribution_ReleaseDate": "2025-12-11", "Contribution_Comment": "suggested covering Exif in images"}], "Previous_Entry_Name": [{"@Date": "2014-02-18", "#text": "Privacy Violation"}, {"@Date": "2020-02-24", "#text": "Exposure of Private Information ('Privacy Violation')"}]}}
