CWEweakness

CWE-212 Improper Removal of Sensitive Information Before Storage or Transfer

Official page ↗
Abstraction
Base
Structure
Simple
Status
Incomplete
Languages
Not Language-Specific
CWE version
5.0

Description

The product stores, transfers, or shares a resource that contains sensitive information, but it does not properly remove that information before the product makes the resource available to unauthorized actors.

Extended description

Resources that may contain sensitive data include documents, packets, messages, databases, etc. While this data may be useful to an individual user or small set of users who share the resource, it may need to be removed before the resource can be shared outside of the trusted group. The process of removal is sometimes called cleansing or scrubbing. For example, a product for editing documents might not remove sensitive data such as reviewer comments or the local pathname where the document is stored. Or, a proxy might not remove an internal IP address from headers before making an outgoing request to an Internet site.

Common consequences

• Confidentiality: Read Files or Directories, Read Application Data — Sensitive data may be exposed to an unauthorized actor in another control sphere. This may have a wide range of secondary consequences that will depend on what data is exposed. One possibility is the exposure of system data - such as file locations, software versions, or device data - that allow an attacker to craft a specific, more effective attack. Alternately, insufficient redaction of Private Personal Information (PPI), Personally Identifiable Information (PII), or other types of information might not harm the secure operation of the product itself, but could be violations of expectations by the product's users.

Potential mitigations

• [Requirements] Clearly specify which information should be regarded as private or sensitive, and require that the product offers functionality that allows the user to cleanse the sensitive information from the resource before it is published or exported to other parties. • [Architecture and Design] Compartmentalize the system to have "safe" areas where trust boundaries can be unambiguously drawn. Do not allow sensitive data to go outside of the trust boundary and always be careful when interfacing with a compartment outside of the safe area. Ensure that appropriate compartmentalization is built into the system design, and the compartmentalization allows for and reinforces privilege separation functionality. Architects and designers should rely on the principle of least privilege to decide the appropriate time to use privileges and the time to drop privileges. • [Implementation, Operation] Some tools can automatically analyze documents to redact, strip, or "sanitize" private information, although some human review might be necessary. Tools may vary in terms of which document formats can be processed. When calling an external program to automatically generate or convert documents, invoke the program with any available options that avoid generating sensitive metadata. Some formats have well-defined fields that could contain private data, such as Exchangeable image file format (Exif), which can contain potentially sensitive metadata such as geolocation, date, and time [REF-1515] [REF-1516]. • [Implementation] Use naming conventions and strong types to make it easier to spot when sensitive data is being used. When creating structures, objects, or other complex entities, separate the sensitive and non-sensitive data as much as possible. • [Implementation] Avoid errors related to improper resource shutdown or release (CWE-404), which may leave the sensitive data within the resource if it is in an incomplete state.

Detection methods

• Automated Static Analysis: Tools are available to analyze documents (such as PDF, Word, etc.) to look for private information such as names, addresses, etc.

Observed examples

• CVE-2023-1974: product does not remove EXIF data from images, which can include GPS coordinates • CVE-2020-26220: Customer relationship management (CRM) product does not strip Exif data from images • CVE-2019-3733: Cryptography library does not clear heap memory before release • CVE-2005-0406: Some image editors modify a JPEG image, but the original EXIF thumbnail image is left intact within the JPEG. (Also an interaction error). • CVE-2002-0704: NAT feature in firewall leaks internal IP addresses in ICMP error messages.

Related

Attack pattern · CAPEC (1)

  • CAPEC-168 Windows ::DATA Alternate Data Stream attack pattern

Observed example · CVE (5)

  • CVE-2023-1974 Exposure of Sensitive Information Through Metadata in GitHub repository answerdev/answer prior to 1.0.8. vulnerability
  • CVE-2020-26220 toucbase.ai before version 2.0 leaks information by not stripping exif data from images. vulnerability
  • CVE-2019-3733 RSA BSAFE Crypto-C Micro Edition, all versions prior to 4.1.4, is vulnerable to three (3) different Improper Clearing of Heap Memory Before… vulnerability
  • CVE-2005-0406 A design flaw in image processing software that modifies JPEG images might not modify the original EXIF thumbnail, which could lead to an… vulnerability
  • CVE-2002-0704 The Network Address Translation (NAT) capability for Netfilter ("iptables") 1.2.6a and earlier leaks translated IP addresses in ICMP error… vulnerability

Can precede · CWE (1)

  • CWE-201 Insertion of Sensitive Information Into Sent Data weakness

Child of · CWE (1)

  • CWE-669 Incorrect Resource Transfer Between Spheres weakness

Referenced by CAPEC · weakness (1)

  • CAPEC-168 Windows ::DATA Alternate Data Stream attack pattern

Referenced by CVE · weakness (136)

  • CVE-2026-115363 OpenBao 2.2.0 before 2.6.4 and 2.7.0 before 2.7.1 contains an information disclosure vulnerability that exposes the tls_acme_eab_mac_key… vulnerability
  • CVE-2026-111756 follow-redirects is a Node.js HTTP and HTTPS client wrapper that automatically follows redirects. vulnerability
  • CVE-2026-111387 Nezha from 2.2.5 before 2.3.15 contains an information disclosure vulnerability that allows authenticated users to retrieve third-party… vulnerability
  • CVE-2026-107291 Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. vulnerability
  • CVE-2026-107293 Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. vulnerability
  • CVE-2026-96879 Improper removal of sensitive information before storage or transfer vulnerability in Wikimedia Foundation's Mediawiki - FlaggedRevs… vulnerability
  • CVE-2026-17511 IBM PowerVM Hypervisor FW1120.00 through FW1120.01, FW1110.00 through FW1110.31, FW1060.00 through FW1060.81, and FW950.00 through FW950.H3… vulnerability
  • CVE-2026-90860 The Canva Mobile App for HarmonyOS before v1.15.1 did not restrict the headers returned to an external origin running in a privileged… vulnerability
  • CVE-2026-67071 HCL DevOps Deploy / HCL Launch is susceptible to an information disclosure vulnerability when processing redacted property values. vulnerability
  • CVE-2026-73440 On affected platforms running Arista EOS with Simple Network Management Protocol (SNMP) configured, SNMPv3 local or remote user credentials… vulnerability
  • CVE-2026-86740 Snipe-IT before 8.7.0 fails to check the return value of Storage::delete() in UploadedFilesController::destroy() and… vulnerability
  • CVE-2026-82069 A security issue in MongoDB Server's query statistics serialization on the router allows users with monitoring privileges to access… vulnerability
  • CVE-2026-53604 nebula-mesh is a self-hosted control plane for Slack Nebula mesh VPN. vulnerability
  • CVE-2026-78658 IBM UCD - IBM UrbanCode Deploy 7.2 through 7.2.3.25, and 7.3 through 7.3.2.20 and IBM UCD - IBM DevOps Deploy 8.0 through 8.0.1.15, 8.1… vulnerability
  • CVE-2026-85094 The Canva Android App before 2.376.0 did not restrict the headers returned to an external origin running in a privileged WebView. vulnerability
  • CVE-2026-62900 Improper removal of sensitive information before storage or transfer in .NET allows an unauthorized attacker to disclose information over a… vulnerability
  • CVE-2024-5300 An access control bypass and information disclosure vulnerability exists in the base AppArmor security profile configuration of Canonical… vulnerability
  • CVE-2026-15811 A vulnerability was found in kronosnet's (version <=1.34) cryptographic configuration management. vulnerability
  • CVE-2026-16104 A flaw was found in the authentication configuration endpoint of the keycloak-services component, which is the core engine for Red Hat… vulnerability
  • CVE-2026-45737 Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. vulnerability
  • CVE-2026-54421 In OpenStack Ironic before 37.0.1, when applying a PATCH to update fields in volume properties the user is authorized for, Ironic can… vulnerability
  • CVE-2026-46657 Bludit is a content management system. vulnerability
  • CVE-2026-36178 The factory reset functionality in GNCC GP5 v7.1.76 fails to clear sensitive cryptographic material in the JFFS2 configuration partition,… vulnerability
  • CVE-2026-45046 Gryph provides a security layer for AI coding agents. vulnerability
  • CVE-2026-27892 FacturaScripts is an open source accounting and invoicing software. vulnerability
  • CVE-2026-42186 OpenBao is an open source identity-based secrets management system. vulnerability
  • CVE-2024-43384 A low privileged remote attacker can gain the root password due to improper removal of sensitive information before storage or transfer. vulnerability
  • CVE-2026-42880 Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. vulnerability
  • CVE-2026-43528 OpenClaw before 2026.4.14 contains a redaction bypass vulnerability that allows authenticated gateway clients to receive unredacted secrets… vulnerability
  • CVE-2026-43824 In Argo CD 3.2.0 before 3.2.11 and 3.3.0 before 3.3.9, ServerSideDiff allows reading cleartext Kubernetes Secret data. vulnerability
Show all 136 ›

Referenced by CWE · child of (2)

  • CWE-1266 Improper Scrubbing of Sensitive Data from Decommissioned Device weakness
  • CWE-226 Sensitive Information in Resource Not Removed Before Reuse weakness

Referenced by CWE · has member (1)