CWE-471: Modification of Assumed-Immutable Data (MAID)
Base
The product does not properly protect an assumed-immutable element from being modified by an attacker.
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.
Consequences
- Integrity: Modify Application Data
- Integrity: Unexpected State
How to prevent it
- Architecture and Design, Operation, Implementation: 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.
Recent advisories
- GHSA-4487-j8r4-4g2f — Forge: verifyCertificateChain() removes trusted CA certificates with the same subject from the CA store
- GHSA-gvp8-978c-rx2q — PyJWT.decode() reintroduces options-dict mutation, enabling silent claim-verification bypass on dict reuse
- GHSA-633r-hq9m-c4ff — vm2: vm.freeze()/vm.readonly() bypass via accessor descriptor
- GHSA-cmwh-pvxp-8882 — DOMPurify: Permanent `ALLOWED_ATTR` pollution via `setConfig()` bypassing the hook clone-guard (incomplete fix of the 3.4.7 hook-pollution patch)
- GHSA-4w2j-2rg4-5mjw — vm2 vulnerable to Arbitrary Code Execution
- GHSA-jcrj-gmr6-p5j8 — Moodle Allows Modification of Constants
- GHSA-hhvc-g5hv-48c6 — Write to immutable memory region in TensorFlow
- GHSA-4v2w-h9jm-mqjg — Prototype Pollution in systeminformation
- GHSA-vfrc-7r7c-w9mx — Prototype Pollution in highlight.js
- GHSA-ff7x-qrg7-qggm — dot-prop Prototype Pollution vulnerability
- GHSA-q42p-pg8m-cqh6 — Prototype Pollution in handlebars
- GHSA-fvqr-27wr-82fm — Prototype Pollution in lodash
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor