LiveActive security incident?Get immediate response
CWE Reference

CWE-1291: Public Key Re-Use for Signing both Debug and… | Glexia

CWE-1291 (Public Key Re-Use for Signing both Debug and Production Code) weakness overview with consequences, detection methods, mitigations, related CVEs and MITRE…

Release 4.20weaknessDraft

Glexia's Take · Automated analysis

CWE-1291: Public Key Re-Use for Signing both Debug and Production Code

Public Key Re-Use for Signing both Debug and Production Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.

Executive Impact

  • Confidentiality Integrity Availability Access Control Accountability Authentication Authorization Non-Repudiation Other: Read Memory Modify Memory Execute Unauthorized Code or Commands Gain Privileges or Assume Identity Varies by Context

Developer Pattern

CWE-1291 is the kind of defect developers can usually prevent with explicit validation, safer framework defaults, and tests that exercise hostile input or unsafe state transitions.

Automation confidence

high confidence from CWE-1291, 4.20.

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Official CWE Definition

CWE-1291: Public Key Re-Use for Signing both Debug and Production Code

The same public key is used for signing both debug and production code.

A common usage of public-key cryptography is to verify the integrity and authenticity of another entity (for example a firmware binary). If a company wants to ensure that its firmware runs only on its own hardware, before the firmware runs, an encrypted hash of the firmware image will be decrypted with the public key and then verified against the now-computed hash of the firmware image. This means that the public key forms the root of trust, which necessitates that the public key itself must be protected and used properly. During the development phase, debug firmware enables many hardware debug hooks, debug modes, and debug messages for testing. Those debug facilities provide significant, additional views about the firmware's capability and, in some cases, additional capability into the chip or SoC. If compromised, these capabilities could be exploited by an attacker to take full control of the system. Once the product exits the manufacturing stage and enters production, it is good practice to use a different public key. Debug firmware images are known to leak. With the debug key being reused as the production key, the debug image will also work on the production image. Thus, it will open all the internal, debug capabilities to the attacker. If a different public key is used for the production image, even if the attacker gains access to the debug firmware image, they will not be able to run it on a production machine. Thus, damage will be limited to the intellectual property leakage resulting from the debug image.

Type
weakness
Abstraction
Base
Status
Draft
Source
MITRE CWE definition

Developer And Remediation Guidance

How teams prevent and detect this weakness

Causes

  • This example illustrates the danger of using the same public key for debug and production.

Remediation

  • Implementation: Use different keys for Production and Debug.

Detection

  • Architecture or Design Review: Compare the debug key with the production key to make sure that they are not the same.
  • Dynamic Analysis with Manual Results Interpretation: Compare the debug key with the production key to make sure that they are not the same.

Mappings

Related CVEs, CWEs, and ATT&CK context

Related CWEs

Related CVEs

Related CVE mappings appear after CVE records are cross-indexed.

Open CWE CVE mapping

ATT&CK Relevance

ATT&CK relevance is shown only when reviewed or responsibly inferred.