Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
CAPEC-74:Manipulating State
Attack Pattern ID:74
Version:v3.9
Attack Pattern Name:Manipulating State
Abstraction:Meta
Status:Stable
Likelihood of Attack:Medium
Typical Severity:High
DetailsContent HistoryRelated WeaknessesReports
▼Description

The adversary modifies state information maintained by the target software or causes a state transition in hardware. If successful, the target will use this tainted state and execute in an unintended manner.

State management is an important function within a software application. User state maintained by the application can include usernames, payment information, browsing history as well as application-specific contents such as items in a shopping cart. Manipulating user state can be employed by an adversary to elevate privilege, conduct fraudulent transactions or otherwise modify the flow of the application to derive certain benefits.

If there is a hardware logic error in a finite state machine, the adversary can use this to put the system in an undefined state which could cause a denial of service or exposure of secure data.

▼Extended Description
▼Alternate Terms
▼Relationships
NatureTypeIDName
ParentOfS140Bypassing of Intermediate Forms in Multiple-Form Sets
ParentOfS663Exploitation of Transient Instruction Execution
Nature: ParentOf
Type: Standard
ID: 140
Name: Bypassing of Intermediate Forms in Multiple-Form Sets
Nature: ParentOf
Type: Standard
ID: 663
Name: Exploitation of Transient Instruction Execution
▼Execution Flow
Explore
1.

Adversary determines the nature of state management employed by the target. This includes determining the location (client-side, server-side or both applications) and possibly the items stored as part of user state.

Adversary determines the nature of state management employed by the target. This includes determining the location (client-side, server-side or both applications) and possibly the items stored as part of user state.

Technique
Experiment
1.

The adversary now tries to modify the user state contents (possibly indiscriminately if the contents are encrypted or otherwise obfuscated) or cause a state transition and observe the effects of this change on the target.

The adversary now tries to modify the user state contents (possibly indiscriminately if the contents are encrypted or otherwise obfuscated) or cause a state transition and observe the effects of this change on the target.

Technique
Exploit
1.

Having determined how to manipulate the state, the adversary can perform illegitimate actions.

Having determined how to manipulate the state, the adversary can perform illegitimate actions.

Technique
▼Prerequisites
User state is maintained at least in some way in user-controllable locations, such as cookies or URL parameters.
There is a faulty finite state machine in the hardware logic that can be exploited.
▼Skills Required
Medium

The adversary needs to have knowledge of state management as employed by the target application, and also the ability to manipulate the state in a meaningful way.

▼Resources Required
The adversary needs a data tampering tool capable of generating and creating custom inputs to aid in the attack, like Fiddler, Wireshark, or a similar in-browser plugin (e.g., Tamper Data for Firefox).
▼Indicators
▼Consequences
ScopeLikelihoodImpactNote
ConfidentialityAccess ControlAuthorizationN/AGain PrivilegesN/A
IntegrityN/AModify DataN/A
AvailabilityN/AUnreliable ExecutionN/A
Scope: Confidentiality, Access Control, Authorization
Likelihood: N/A
Impact: Gain Privileges
Note: N/A
Scope: Integrity
Likelihood: N/A
Impact: Modify Data
Note: N/A
Scope: Availability
Likelihood: N/A
Impact: Unreliable Execution
Note: N/A
▼Mitigations
Do not rely solely on user-controllable locations, such as cookies or URL parameters, to maintain user state.
Avoid sensitive information, such as usernames or authentication and authorization information, in user-controllable locations.
Sensitive information that is part of the user state must be appropriately protected to ensure confidentiality and integrity at each request.
All possible states must be handled by hardware finite state machines.
▼Example Instances
▼Related Weaknesses
IDName
CWE-1245Improper Finite State Machines (FSMs) in Hardware Logic
CWE-1253Incorrect Selection of Fuse Values
CWE-1265Unintended Reentrant Invocation of Non-reentrant Code Via Nested Calls
CWE-1271Uninitialized Value on Reset for Registers Holding Security Settings
CWE-315Cleartext Storage of Sensitive Information in a Cookie
CWE-353Missing Support for Integrity Check
CWE-372Incomplete Internal State Distinction
CWE-693Protection Mechanism Failure
ID: CWE-1245
Name: Improper Finite State Machines (FSMs) in Hardware Logic
ID: CWE-1253
Name: Incorrect Selection of Fuse Values
ID: CWE-1265
Name: Unintended Reentrant Invocation of Non-reentrant Code Via Nested Calls
ID: CWE-1271
Name: Uninitialized Value on Reset for Registers Holding Security Settings
ID: CWE-315
Name: Cleartext Storage of Sensitive Information in a Cookie
ID: CWE-353
Name: Missing Support for Integrity Check
ID: CWE-372
Name: Incomplete Internal State Distinction
ID: CWE-693
Name: Protection Mechanism Failure
▼Taxonomy Mappings
Taxonomy NameEntry IDEntry Name
▼Notes
▼References
Details not found