CWE-1245: Improper Finite State Machines (FSMs) in Hardware Logic

BaseIncomplete

Faulty finite state machines (FSMs) in the hardware logic allow an attacker to put the system in an undefined state, to cause a denial of service (DoS) or gain privileges on the victim's system.

View on MITRE
Back to CWE Lookup

Extended Description

The functionality and security of the system heavily depend on the implementation of FSMs. FSMs can be used to indicate the current security state of the system. Lots of secure data operations and data transfers rely on the state reported by the FSM. Faulty FSM designs that do not account for all states, either through undefined states (left as don't cares) or through incorrect implementation, might lead an attacker to drive the system into an unstable state from which the system cannot recover without a reset, thus causing a DoS. Depending on what the FSM is used for, an attacker might also gain additional privileges to launch further attacks and compromise the security guarantees.

Technical Details

Structure
Simple

Applicable To

Languages
Not Language-Specific
Platforms
Not OS-Specific

Frequently Asked Questions

What is CWE-1245: Improper Finite State Machines (FSMs) in Hardware Logic?+

CWE-1245: Improper Finite State Machines (FSMs) in Hardware Logic is a Common Weakness Enumeration (CWE) entry maintained by MITRE. Faulty finite state machines (FSMs) in the hardware logic allow an attacker to put the system in an undefined state, to cause a denial of service (DoS) or gain privileges on the victim's system. The functionality and security of the system heavily depend on the implementation of FSMs. FSMs can be used to indicate the current security state of the system. Lots of secure data operations and data transfers rely on the state reported by the FSM. Faulty FSM designs that do not account for all states, either through undefined states (left as don't cares) or through incorrect implementation, might lead an attacker to drive the system into an unstable state from which the system cannot recover without a reset, thus causing a DoS. Depending on what the FSM is used for, an attacker might also gain additional privileges to launch further attacks and compromise the security guarantees.

What are the security consequences of Improper Finite State Machines (FSMs) in Hardware Logic?+

If exploited, CWE-1245 (Improper Finite State Machines (FSMs) in Hardware Logic) it can compromise Availability and Access Control, leading to outcomes such as Unexpected State, DoS: Crash, Exit, or Restart, DoS: Instability and Gain Privileges or Assume Identity.

How do you prevent or mitigate Improper Finite State Machines (FSMs) in Hardware Logic?+

Recommended mitigations for CWE-1245 include: Define all possible states and handle all unused states through default statements. Ensure that system defaults to a secure state.

Which programming languages are affected by Improper Finite State Machines (FSMs) in Hardware Logic?+

CWE-1245 commonly affects Not Language-Specific. Note that weaknesses are often language-agnostic patterns, so secure coding practices apply broadly.

What is the difference between a CWE and a CVE?+

A CWE (Common Weakness Enumeration) like CWE-1245 describes a category of software weakness — the underlying flaw type. A CVE (Common Vulnerabilities and Exposures) identifies a specific, real-world vulnerability in a particular product. In short, a CWE is the kind of mistake, and a CVE is an instance of that mistake being found in software.

Learn More