|
|
|
|
CWE-472 Individual Dictionary Definition (Draft 9)
Weakness ID
| Status: Draft 472 (Weakness Base) | | Description | Summary The web application does not sufficiently verify inputs that are assumed to be immutable but are actually externally controllable, such as hidden form fields. Extended Description If a web product does not properly protect assumed-immutable values from modification in
hidden form fields, parameters, cookies, or URLs, this can lead to modification of critical data. Web applications often mistakenly make the assumption that data passed to the client in hidden fields or cookies is not susceptible to tampering. Failure to validate portions of data that are user-controllable can lead to the application processing incorrect, and often malicious, input.
| | Alternate Terms | Assumed-Immutable Parameter Tampering | | Potential Mitigations | It is recommended not to pass hidden fields or cookies (apart from a session cookie) to the server. Furthermore, do not use parameters that are not from immediate user input. Assume all input is malicious. Use an appropriate combination of black lists and white
lists to ensure only valid and expected input is processed by the system. | | Observed Examples | | Reference | Description |
|---|
| CVE-2002-0108 | Forum product allows spoofed messages of other users via hidden form fields for name
and e-mail address. | | CVE-2000-0253 | Shopping cart allows price modification via hidden form field. | | CVE-2000-0254 | Shopping cart allows price modification via hidden form field. | | CVE-2000-0926 | Shopping cart allows price modification via hidden form field. | | CVE-2000-0101 | Shopping cart allows price modification via hidden form field. | | CVE-2000-0102 | Shopping cart allows price modification via hidden form field. | | CVE-2000-0758 | Allows admin access by modifying value of form field. | | CVE-2002-1880 | Read messages by modifying message ID parameter. | | CVE-2000-1234 | Send email to arbitrary users by modifying email parameter. | | CVE-2005-1652 | Authentication bypass by setting a parameter. | | CVE-2005-1784 | Product does not check authorization for configuration change admin script, leading
to password theft via modified e-mail address field. | | CVE-2005-2314 | Logic error leads to password disclosure. | | CVE-2005-1682 | Modification of message number parameter allows attackers to read other people's
messages. |
| | Context Notes | This is a primary weakness for many other weaknesses and functional consequences,
including XSS, SQL injection, path disclosure, and file inclusion. For example, custom cookies
commonly store session data or persistent data across sessions. This kind of session data is
normally involved in security related decisions on the server side, such as user authentication
and access control. Thus, the cookies might contain sensitive data such as user credentials and
privileges. This is a dangerous practice, as it can often lead to improper reliance on the value
of the client-provided cookie by the server side application. Without appropriate protection
mechanisms, the client can easily tamper with cookies. Reliance on the cookies without detailed
validation can lead to problems such as SQL injection. If you use cookie values for security
related decisions on the server side, manipulating the cookies might lead to violations of
security policies such as authentication bypassing, user impersonation and privilege escalation.
In addition, storing sensitive data in the cookie without appropriate protection can also lead to
disclosure of sensitive user data, especially data stored in persistent cookies. Hidden fields should not be trusted as secure parameters. An attacker can intercept and
alter hidden fields in a post to the server as easily as user input fields. An attacker can simply
parse the HTML for the substring < input type "hidden" or even just "hidden". Hidden field
values displayed later in the session, such as on the following page, can open a site up to
cross-site scripting attacks. This is a technology-specific MAID problem. | | Relationships | | | Source Taxonomies | PLOVER - Web Parameter Tampering | | Applicable Platforms | All | | Related Attack Patterns | | CAPEC-ID | Attack Pattern Name |
|---|
| 39 | Manipulating Opaque Client-based Data Tokens | | 31 | Accessing/Intercepting/Modifying HTTP Cookies |
|
|