Parameter Pollution
Parameter pollution is a web application vulnerability in which an attacker manipulates or duplicates HTTP parameters to alter how a server or application processes a request. By injecting encoded query string delimiters or repeating parameter names, an attacker may be able to override intended values, bypass security controls, or retrieve hidden information. The vulnerability exists in both client-facing HTTP interactions and in server-side requests made to internal APIs.
Parameter pollution encompasses two related vulnerability classes. HTTP Parameter Pollution (HPP) involves injecting encoded query string delimiters into existing HTTP parameters, or supplying duplicate parameter names within a single request, to exploit inconsistent parsing behavior across web servers, application frameworks, and intermediary components. Because different technologies resolve duplicate parameters differently (typically accepting the first, last, or a concatenated value), an attacker may manipulate application logic, evade input validation, or retrieve unintended data. Server-Side Parameter Pollution (SSPP) occurs when a server embeds unsanitized user-supplied input into a request directed at an internal API or backend service without adequate encoding, potentially allowing an attacker to inject additional parameters into that internal request and influence its behavior in ways not exposed through the original client-facing interface.
Why it matters
Parameter pollution is significant because it exploits inconsistencies that are inherent to how web technologies parse HTTP requests, meaning the vulnerability often exists not because of a single coding mistake but because different components in a stack interpret the same request differently. A web application firewall or input validation layer may evaluate one instance of a duplicated parameter while the backend application processes a different one, allowing an attacker to bypass security controls that would otherwise block malicious input. This parsing inconsistency makes parameter pollution particularly difficult to defend against through perimeter controls alone.
Server-side parameter pollution extends the attack surface beyond client-facing interfaces into internal API communication. When a server constructs a request to an internal service using unsanitized user input, an attacker may be able to inject additional parameters into that internal request, influencing backend behavior in ways that are not visible or accessible through the original interface. This creates a class of vulnerabilities that are typically invisible to external security scanners because the injected behavior occurs within server-to-server communication rather than in the response returned to the client.
The practical consequences of parameter pollution range from authentication and authorization bypass to the retrieval of hidden data fields and manipulation of business logic. Because the technique can be used to evade input validation and tamper with requests to internal APIs, it is relevant to a broad range of application types and is not limited to any specific framework or server technology.
Who it's relevant to
Inside HPP
Common questions
Answers to the questions practitioners most commonly ask about HPP.