1. Support Center
  2. Issue Definitions
  3. Web cache poisoning

Web cache poisoning

Description: Web cache poisoning

Web caches identify resources using a few specific components of each HTTP request, together known as the cache key. Two requests with the same cache key are regarded by the cache as equivalent. The cache key typically includes the request line and Host header, but not any other headers.

Web cache poisoning vulnerabilities arise when an application behind a cache processes input that is not included in the cache key. Attackers may be able to exploit this by sending crafted input to trigger a harmful response that the cache will then save and serve to other users.

The impact is potentially serious as the malicious cached page may be served to a large number of users without other interaction. The threat posed by this vulnerability depends largely on what can be achieved with the input. Often the input can be used to trigger XSS or open redirection. In other cases, it can simply be used to swap pages around.

Remediation: Web cache poisoning

To resolve this issue, either disable support for the affected headers, or disable caching on all affected pages.

If both the affected header and caching behavior are required, configure the cache to ensure that the header is included in the cache key. Depending on which caching solution you use, it might be possible to achieve this using the Vary response header.

References

Vulnerability classifications

Typical severity

High

Type index

0x00200180

Burp Scanner

This issue - and many more like it - can be found using our web vulnerability scanner

Read more

Get Burp

Scan your web application from just $399.00

Find out more