Logo
-

Byte Open Security

(ByteOS Network)

Log In

Sign Up

ByteOS

Security
Vulnerability Details
Registries
Custom Views
Weaknesses
Attack Patterns
Filters & Tools
CWE-471:Modification of Assumed-Immutable Data (MAID)
Weakness ID:471
Version:v4.17
Weakness Name:Modification of Assumed-Immutable Data (MAID)
Vulnerability Mapping:Allowed
Abstraction:Base
Structure:Simple
Status:Draft
Likelihood of Exploit:
DetailsContent HistoryObserved CVE ExamplesReports
▼Description

The product does not properly protect an assumed-immutable element from being modified by an attacker.

▼Extended Description

This occurs when a particular input is critical enough to the functioning of the application that it should not be modifiable at all, but it is. Certain resources are often assumed to be immutable when they are not, such as hidden form fields in web applications, cookies, and reverse DNS lookups.

▼Alternate Terms
▼Relationships
Relevant to the view"Research Concepts - (1000)"
NatureMappingTypeIDName
ChildOfDiscouragedP664Improper Control of a Resource Through its Lifetime
ParentOfAllowedB1282Assumed-Immutable Data is Stored in Writable Memory
ParentOfAllowedV1321Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
ParentOfAllowedB425Direct Request ('Forced Browsing')
ParentOfAllowedB472External Control of Assumed-Immutable Web Parameter
ParentOfAllowedV473PHP External Variable Modification
ParentOfAllowed-with-ReviewC602Client-Side Enforcement of Server-Side Security
ParentOfAllowedV607Public Static Final Field References Mutable Object
ParentOfAllowedV621Variable Extraction Error
Nature: ChildOf
Mapping: Discouraged
Type: Pillar
ID: 664
Name: Improper Control of a Resource Through its Lifetime
Nature: ParentOf
Mapping: Allowed
Type: Base
ID: 1282
Name: Assumed-Immutable Data is Stored in Writable Memory
Nature: ParentOf
Mapping: Allowed
Type: Variant
ID: 1321
Name: Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')
Nature: ParentOf
Mapping: Allowed
Type: Base
ID: 425
Name: Direct Request ('Forced Browsing')
Nature: ParentOf
Mapping: Allowed
Type: Base
ID: 472
Name: External Control of Assumed-Immutable Web Parameter
Nature: ParentOf
Mapping: Allowed
Type: Variant
ID: 473
Name: PHP External Variable Modification
Nature: ParentOf
Mapping: Allowed-with-Review
Type: Class
ID: 602
Name: Client-Side Enforcement of Server-Side Security
Nature: ParentOf
Mapping: Allowed
Type: Variant
ID: 607
Name: Public Static Final Field References Mutable Object
Nature: ParentOf
Mapping: Allowed
Type: Variant
ID: 621
Name: Variable Extraction Error
▼Memberships
NatureMappingTypeIDName
MemberOfProhibitedC991SFP Secondary Cluster: Tainted Input to Environment
MemberOfProhibitedC1347OWASP Top Ten 2021 Category A03:2021 - Injection
MemberOfProhibitedC1416Comprehensive Categorization: Resource Lifecycle Management
Nature: MemberOf
Mapping: Prohibited
Type:Category
ID: 991
Name: SFP Secondary Cluster: Tainted Input to Environment
Nature: MemberOf
Mapping: Prohibited
Type:Category
ID: 1347
Name: OWASP Top Ten 2021 Category A03:2021 - Injection
Nature: MemberOf
Mapping: Prohibited
Type:Category
ID: 1416
Name: Comprehensive Categorization: Resource Lifecycle Management
▼Tags
NatureMappingTypeIDName
MemberOfProhibitedBSBOSS-294Not Language-Specific Weaknesses
MemberOfProhibitedBSBOSS-315Unexpected State (impact)
MemberOfProhibitedBSBOSS-318Modify Application Data (impact)
Nature: MemberOf
Mapping: Prohibited
Type:BOSSView
ID: BOSS-294
Name: Not Language-Specific Weaknesses
Nature: MemberOf
Mapping: Prohibited
Type:BOSSView
ID: BOSS-315
Name: Unexpected State (impact)
Nature: MemberOf
Mapping: Prohibited
Type:BOSSView
ID: BOSS-318
Name: Modify Application Data (impact)
▼Relevant To View
Relevant to the view"OWASP Top Ten (2021) - (1344)"
NatureMappingTypeIDName
MemberOfProhibitedC1347OWASP Top Ten 2021 Category A03:2021 - Injection
Nature: MemberOf
Mapping: Prohibited
Type: Category
ID: 1347
Name: OWASP Top Ten 2021 Category A03:2021 - Injection
Relevant to the view"Software Fault Pattern (SFP) Clusters - (888)"
NatureMappingTypeIDName
MemberOfProhibitedC991SFP Secondary Cluster: Tainted Input to Environment
Nature: MemberOf
Mapping: Prohibited
Type: Category
ID: 991
Name: SFP Secondary Cluster: Tainted Input to Environment
▼Background Detail

▼Common Consequences
ScopeLikelihoodImpactNote
IntegrityN/AModify Application Data

Common data types that are attacked are environment variables, web application parameters, and HTTP headers.

IntegrityN/AUnexpected State
N/A
Scope: Integrity
Likelihood: N/A
Impact: Modify Application Data
Note:

Common data types that are attacked are environment variables, web application parameters, and HTTP headers.

Scope: Integrity
Likelihood: N/A
Impact: Unexpected State
Note:
N/A
▼Potential Mitigations
Phase:Architecture and Design, Operation, Implementation
Mitigation ID:
Strategy:
Effectiveness:
Description:

When the data is stored or transmitted through untrusted sources that could modify the data, implement integrity checks to detect unauthorized modification, or store/transmit the data in a trusted location that is free from external influence.

Note:

▼Modes Of Introduction
Phase: Implementation
Note:

N/A

Phase: Architecture and Design
Note:

N/A

▼Applicable Platforms
Languages
Class: Not Language-Specific(Undetermined Prevalence)
▼Demonstrative Examples
Example 1

In the code excerpt below, an array returned by a Java method is modified despite the fact that arrays are mutable.

Language: ( code)
N/A

Language: Java(Bad code)
String[] colors = car.getAllPossibleColors(); colors[0] = "Red";

▼Observed Examples
ReferenceDescription
CVE-2002-1757
Relies on $PHP_SELF variable for authentication.
CVE-2005-1905
Gain privileges by modifying assumed-immutable code addresses that are accessed by a driver.
Reference: CVE-2002-1757
Description:
Relies on $PHP_SELF variable for authentication.
Reference: CVE-2005-1905
Description:
Gain privileges by modifying assumed-immutable code addresses that are accessed by a driver.
▼Affected Resources
    ▼Functional Areas
      ▼Weakness Ordinalities
      OrdinalityDescription
      ▼Detection Methods
      ▼Vulnerability Mapping Notes
      Usage:Allowed
      Reason:Acceptable-Use
      Rationale:

      This CWE entry is at the Base level of abstraction, which is a preferred level of abstraction for mapping to the root causes of vulnerabilities.

      Comments:

      Carefully read both the name and description to ensure that this mapping is an appropriate fit. Do not try to 'force' a mapping to a lower-level Base/Variant simply to comply with this preferred level of abstraction.

      Suggestions:
      ▼Notes
      Relationship

      MAID issues can be primary to many other weaknesses, and they are a major factor in languages that provide easy access to internal program constructs, such as PHP's register_globals and similar features. However, MAID issues can also be resultant from weaknesses that modify internal state; for example, a program might validate some data and store it in memory, but a buffer overflow could overwrite that validated data, leading to a change in program logic.

      N/A

      Theoretical

      There are many examples where the MUTABILITY property is a major factor in a vulnerability.

      N/A

      ▼Taxonomy Mappings
      Taxonomy NameEntry IDFitEntry Name
      PLOVERN/AN/AModification of Assumed-Immutable Data
      Taxonomy Name: PLOVER
      Entry ID: N/A
      Fit: N/A
      Entry Name: Modification of Assumed-Immutable Data
      ▼Related Attack Patterns
      IDName
      CAPEC-384
      Application API Message Manipulation via Man-in-the-Middle
      CAPEC-385
      Transaction or Event Tampering via Application API Manipulation
      CAPEC-386
      Application API Navigation Remapping
      CAPEC-387
      Navigation Remapping To Propagate Malicious Content
      CAPEC-388
      Application API Button Hijacking
      ID: CAPEC-384
      Name: Application API Message Manipulation via Man-in-the-Middle
      ID: CAPEC-385
      Name: Transaction or Event Tampering via Application API Manipulation
      ID: CAPEC-386
      Name: Application API Navigation Remapping
      ID: CAPEC-387
      Name: Navigation Remapping To Propagate Malicious Content
      ID: CAPEC-388
      Name: Application API Button Hijacking
      ▼References
      Details not found