Skip to content

Commit f3a9af1

Browse files
committed
Adding Cache Deception category
This is to match the VRT minor update 1.15.1 (bugcrowd/vulnerability-rating-taxonomy#453)
1 parent 038ea24 commit f3a9af1

File tree

2 files changed

+41
-0
lines changed

2 files changed

+41
-0
lines changed
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Recommendation(s)
2+
3+
The most effective way to prevent cache deception is to carefully control which responses are cached and to avoid caching responses that contain user-specific or sensitive data.
4+
5+
Ensure that authentication-protected pages and any responses containing sensitive information explicitly disable caching via headers such as `Cache-Control: no-store, no-cache, must-revalidate` and `Pragma: no-cache`.
6+
7+
Be particularly cautious with URL structures. Cache deception attacks often rely on tricking the cache into treating dynamic responses as static. A simple mitigation is to ensure that URLs ending in extensions like `.css`, `.js`, `.png`, etc., only serve static content and do not process dynamic requests.
8+
9+
For additional protection, configure your cache layer to only cache responses from a predefined allowlist of safe URL patterns. This prevents attackers from injecting deceptive paths that lead to cached sensitive data.
10+
11+
Auditing your cache behavior using tools like Param Miner or manual testing can help identify and eliminate unintended caching of sensitive responses. Additionally, security headers such as `X-Content-Type-Options: nosniff` can help prevent certain forms of cache-related attacks.
12+
13+
Finally, if your application uses a CDN or a reverse proxy (e.g., Cloudflare, Akamai, Varnish), ensure that caching rules are correctly configured to prevent caching of personalized or user-specific content.
14+
15+
For more information, refer to the following resource:
16+
<https://portswigger.net/web-security/web-cache-deception>
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
Cache deception allows an attacker to serve fake static files, forcing the web server to mistakenly cache and serve dynamic content as though it were static. If subsequent users make requests to the same URL, they are served the cached page. This can lead to sensitive data exposure for multiple users across different sessions.
2+
3+
**Business Impact**
4+
5+
This vulnerability can lead to reputational damage and indirect financial loss to the company through the impact to customers’ trust.
6+
7+
**Steps to Reproduce**
8+
9+
1. Enable a HTTP interception proxy, such as Burp Suite or OWASP ZAP
10+
1. Use a browser to navigate to the following url: {{URL}}
11+
1. Intercept the request in the HTTP interception Proxy and change HTTP header: {{value}} to {{value}}
12+
1. Forward the following request to the endpoint:
13+
14+
```HTTP
15+
{{request}}
16+
```
17+
18+
1. Notice that the following page is cached: {{screenshot}}
19+
1. Perform {{action}} to demonstrate cache deception
20+
21+
**Proof of Concept (PoC)**
22+
23+
The screenshot(s) below demonstrate(s) this vulnerability:
24+
25+
{{screenshot}}

0 commit comments

Comments
 (0)