CWE-1244: Internal Asset Exposed to Unsafe Debug Access Level or State
Description
The product uses physical debug or test interfaces with support for multiple access levels, but it assigns the wrong debug access level to an internal asset, providing unintended access to the asset from untrusted debug agents.
Debug authorization can have multiple levels of access, defined such that different system internal assets are accessible based on the current authorized debug level. Other than debugger authentication (e.g., using passwords or challenges), the authorization can also be based on the system state or boot stage. For example, full system debug access might only be allowed early in boot after a system reset to ensure that previous session data is not accessible to the authenticated debugger.
- Abstraction
- BaseA weakness specific enough to point to detection and prevention methods.
- Likelihood of exploit
- Not rated by MITRE
- Status
- Stable
Common consequences
- Confidentiality
Read Memory
If a protection mechanism does not ensure that internal assets have the correct debug access level during each boot stage or change in system state, an attacker could obtain sensitive information from the internal asset using a debugger.
- Integrity
Modify Memory
- AuthorizationAccess Control
Gain Privileges or Assume Identity; Bypass Protection Mechanism
Potential mitigations
- Architecture and DesignImplementationEffectiveness: High
For security-sensitive assets accessible over debug/test interfaces, only allow trusted agents.
- Architecture and DesignEffectiveness: Limited
Apply blinding or masking techniques in strategic areas.
- ImplementationEffectiveness: Limited
Add shielding or tamper-resistant protections to the device, which increases the difficulty and cost for accessing debug/test interfaces.