🎄 Join our Annual Holiday wargame and win prizes!


HTTP Parameter Pollution

HTTP Parameter Pollution (HPP) is an instance of the broader *Parser Differential* vulnerability class. This occurs when different implementations of the same input language (e.g., HTTP protocol, ZIP format, X.509 parsing) interpret the same input differently. An adversary can exploit these discrepancies to bypass validation or inject malicious behaviour.

In the case of HPP, attackers supply duplicate HTTP parameters (e.g., `?id=1&id=2`) that are interpreted differently by various components (web application, proxy, WAF, framework). Depending on which value is used or concatenated, an attacker may override security checks, manipulate application logic, or trigger injection vulnerabilities.

Other notable parser differential examples include:

  • **HTTP Request Smuggling / Desync**
  • **Android Master Key (ZIP file parsing inconsistency)**
  • **X.509 Subject Name Confusion**

Remediation

  • Ensure that only one component in the processing chain interprets untrusted input, and that normalised, validated data is passed downstream.
  • Do not forward raw untrusted input across multiple components that may use different parsers or frameworks.
  • Apply strict validation and canonicalisation at input boundaries (e.g., reject duplicate parameters, enforce schema).
  • Configure frameworks or libraries to use deterministic parsing modes where available (e.g., “first parameter wins” or “reject duplicates”).

For more information, refer to https://learn.secdim.com/course/code-signature-bypass/topic/parser-differential[Code Signature Bypass] mini course on SecDim Learn.

Metadata

  • Severity: medium
  • Slug: http-parameter-pollution

CWEs

  • 88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection')
  • 115: Misinterpretation of Input
  • 20: Improper Input Validation
  • 444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
  • 436: Interpretation Conflict

OWASP

  • A03:2021: Injection
  • A04:2021: Insecure Design
  • A05:2021: Security Misconfiguration
Deco line
Deco line

Play AppSec WarGames

Want to skill-up in secure coding and AppSec? Try SecDim Wargames to learn how to find, hack and fix security vulnerabilities inspired by real-world incidents.

Deco line
Deco line

Got a comment?

Join our secure coding and AppSec community. A discussion board to share and discuss all aspects of secure programming, AppSec, DevSecOps, fuzzing, cloudsec, AIsec code review, and more.

Read more