54 vulnerabilities classified as CWE-915. AI Chinese analysis included.
CWE-915 represents a critical input validation weakness where software fails to restrict which object attributes can be modified based on external input. Attackers typically exploit this by injecting malicious data that targets internal or privileged properties, such as access control flags or system configuration settings, rather than intended user-facing fields. This unauthorized modification can bypass security mechanisms, escalate privileges, or cause denial of service by corrupting the object’s internal state. To prevent this vulnerability, developers must implement strict allow-lists that explicitly define permissible attributes for modification, ensuring that only expected fields are updated. Additionally, employing robust serialization frameworks with built-in validation and conducting thorough code reviews to identify dynamic attribute assignment patterns are essential strategies for mitigating this risk and maintaining application integrity.
function setValueByPath (object, path, value) { const pathArray = path.split("."); const attributeToSet = pathArray.pop(); let objectToModify = object; for (const attr of pathArray) { if (typeof objectToModify[attr] !== 'object') { objectToModify[attr] = {}; } objectToModify = objectToModify[attr]; } objectToModify[attributeToSet] = value; return object; }setValueByPath({}, "__proto__.isAdmin", true) setValueByPath({}, "constructor.prototype.isAdmin", true)Vulnerabilities classified as CWE-915 represent 54 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.