CWE-1330 Variante Brouillon

Remanent Data Readable after Memory Erase

Sensitive data stored in memory hardware can still be accessed or reconstructed even after a standard clear or erase command has been executed.

Définition

What is CWE-1330?

Sensitive data stored in memory hardware can still be accessed or reconstructed even after a standard clear or erase command has been executed.
Data remanence happens when memory hardware doesn't completely eliminate stored information during a standard erase operation. This can occur due to performance-focused designs that only clear organizational metadata (like file pointers) while leaving the actual data intact, or due to the physical properties of memory types like SRAM and DRAM, where residual electrical charge can retain data. To counter this, memory devices often provide separate 'secure erase' commands designed to overwrite the actual data cells. For robust protection, especially in self-encrypting storage devices, a 'cryptographic erase' is used. This method doesn't overwrite the encrypted data on the physical media; instead, it permanently deletes the decryption keys. Since the remaining data is still encrypted, protection relies entirely on the strength of the encryption algorithm. Therefore, understanding your hardware's specific erase capabilities is critical for ensuring data is truly irrecoverable.
Impact réel

Real-world CVEs caused by CWE-1330

  • Firmware Data Deletion Vulnerability in which a base station factory reset might not delete all user information. The impact of this enables a new owner of a used device that has been "factory-default reset" with a vulnerable firmware version can still retrieve, at least, the previous owner's wireless network name, and the previous owner's wireless security (such as WPA2) key. This issue was addressed with improved, data deletion.

Comment les attaquants l'exploitent

Parcours de l'attaquant étape par étape

  1. 1

    Consider a device that uses flash memory for non-volatile-data storage. To optimize flash-access performance or reliable-flash lifetime, the device might limit the number of flash writes/erases by maintaining some state in internal SRAM and only committing changes to flash memory periodically.

  2. 2

    The device also supports user reset to factory defaults with the expectation that all personal information is erased from the device after this operation. On factory reset, user files are erased using explicit, erase commands supported by the flash device.

  3. 3

    In the given, system design, the flash-file system can support performance-optimized erase such that only the file metadata are erased and not the content. If this optimized erase is used for files containing user data during factory-reset flow, then device, flash memory can contain remanent data from these files.

  4. 4

    On device-factory reset, the implementation might not erase these copies, since the file organization has changed and the flash file system does not have the metadata to track all previous copies.

  5. 5

    A flash-memory region that is used by a flash-file system should be fully erased as part of the factory-reset flow. This should include secure-erase flow for the flash media such as overwriting patterns multiple times followed by erase.

Exemple de code vulnérable

Vulnerable pseudo

MITRE n'a pas publié d'exemple de code pour ce CWE. Le motif ci-dessous est illustratif — voir Ressources pour les références canoniques.

Vulnérable pseudo
// Example pattern — see MITRE for the canonical references.
function handleRequest(input) {
  // Untrusted input flows directly into the sensitive sink.
  return executeUnsafe(input);
}
Exemple de code sécurisé

Secure pseudo

Sécurisé pseudo
// Validate, sanitize, or use a safe API before reaching the sink.
function handleRequest(input) {
  const safe = validateAndEscape(input);
  return executeWithGuards(safe);
}
What changed: the unsafe sink is replaced (or the input is validated/escaped) so the same payload no longer triggers the weakness.
Liste de contrôle de prévention

How to prevent CWE-1330

  • Architecture and Design - Support for secure-erase commands that apply multiple cycles of overwriting memory with known patterns and of erasing actual content. - Support for cryptographic erase in self-encrypting, memory devices. - External, physical tools to erase memory such as ultraviolet-rays-based erase of Electrically erasable, programmable, read-only memory (EEPROM). - Physical destruction of media device. This is done for repurposed or scrapped devices that are no longer in use.
Signaux de détection

How to detect CWE-1330

Architecture or Design Review

- Testing of memory-device contents after clearing or erase commands. - Dynamic analysis of memory contents during device operation to detect specific, confidential assets. - Architecture and design analysis of memory clear and erase operations.

Dynamic Analysis with Manual Results Interpretation

- Testing of memory-device contents after clearing or erase commands. - Dynamic analysis of memory contents during device operation to detect specific, confidential assets. - Architecture and design analysis of memory clear and erase operations.

Correction automatique Plexicus

Plexicus détecte automatiquement CWE-1330 et ouvre une PR de correction en moins de 60 secondes.

Codex Remedium analyse chaque commit, identifie cette faiblesse précise et livre une pull request prête à être relue avec le correctif. Pas de tickets. Pas de transferts.

Questions fréquentes

Frequently asked questions

Qu'est-ce que CWE-1330 ?

Sensitive data stored in memory hardware can still be accessed or reconstructed even after a standard clear or erase command has been executed.

Quelle est la gravité de CWE-1330 ?

MITRE n'a pas publié de note de probabilité d'exploitation pour cette faiblesse. Traitez-la comme un impact moyen jusqu'à ce que votre modèle de menace prouve le contraire.

Quels langages ou plateformes sont affectés par CWE-1330 ?

MITRE lists the following affected platforms: Not OS-Specific, Not Architecture-Specific, Security Hardware, Not Technology-Specific.

Comment puis-je prévenir CWE-1330 ?

- Support for secure-erase commands that apply multiple cycles of overwriting memory with known patterns and of erasing actual content. - Support for cryptographic erase in self-encrypting, memory devices. - External, physical tools to erase memory such as ultraviolet-rays-based erase of Electrically erasable, programmable, read-only memory (EEPROM). - Physical destruction of media device. This is done for repurposed or scrapped devices that are no longer in use.

Comment Plexicus détecte et corrige CWE-1330 ?

Le moteur SAST de Plexicus reconnaît la signature de flux de données de CWE-1330 à chaque commit. Lorsqu'une correspondance est trouvée, notre agent Codex Remedium ouvre une PR de correction avec le code corrigé, les tests et un résumé d'une ligne pour le relecteur.

Où puis-je en savoir plus sur CWE-1330 ?

MITRE publie la définition canonique à https://cwe.mitre.org/data/definitions/1330.html. Vous pouvez également consulter la documentation OWASP et NIST pour des conseils adjacents.

Prêt quand vous l'êtes

Arrêtez de payer par développeur.
Commencez à fermer la boucle.

Plexicus est l'ASPM natif IA qui scanne, filtre, corrige, penteste et explique — de façon autonome. Développeurs illimités, dépôts illimités, actions IA à usage équitable. Vrai niveau gratuit, €269/mo annuel quand vous êtes prêt.