CPDoS – New Web-Based Web Cache Poisoning Attack On Websites That Using CDN

German Cybersecurity researchers from Cologne University & the University of Hamburg coined a new class of web cache poisoning attack dubbed CPDoS that let an attacker force a particular website to deliver an error page instead of the legitimate one.

Web caching is a key component of modern architecture, the cache promotes the performance of the website and offers additional protection such as DoS attack.

The attack impacts reverse proxy and cache servers such as Apache TS & Varnish, popular CDNs such as Akamai, Azure, CDN77, Cloudflare, CloudFront and Fastly.

According to researchers, a simple request is sufficient to replace the genuine content in the cache by an error page and the attack remains under the radar as web application firewalls scan for huge irregular network traffic.

How the CPDoS Attack works

CPDoS expanded as Cache-Poisoned Denial-of-Service, exploits the semantic gap between the shared cache and the origin server.

The attacker can initiate the attack by sending an HTTP request with a malicious header targeting a specific victim domain. The request will get processed by intermediate cache and remains undetected.

Then the cache request will be forwarded to the origin server and the origin server provokes error because of malicious header.

The origin server returns with an error message and the error will get stored in the cache instead of the legitimate content.

If the attack is successful then the attacker will retrieve an error page in response and the Legitimate users reaching the website will get the cached error page.

Three Variations of CPDoS

Attackers can send the Malformed request in the following three types.

HTTP Header Oversize (HHO)

The HHO attack works by sending a larger header than the size supported by the origin server, the attack works in the case that web application uses a cache that accepts a larger header size limit than the origin server limit.

HTTP Meta Character (HMC)

With the HMC CPDoS attack, instead of sending the oversized header, the attacker bypasses the cache bypassing invalid meta characters, e.g., control characters such as line break/carriage return (\n), line feed (\r) or bell (\a).

HTTP Method Override (HMO) Attack

HTTP Method Override (HMO) method used by attackers to override the blocked requests such as DELETE, PUT and PATCH.

CDNs Impacted

If the error page was injected then the CDN will distribute the error page to all of the edge locations within the CDN.

“We analyze the caching behavior of error pages of fifteen web caching solutions and contrast them to the HTTP specifications [13]. We identify one proxy cache product and five CDN services that are vulnerable to CPDoS.”

With the analysis, researchers found that one proxy cache product and five CDN services that are vulnerable to CPDoS.

Researchers published a paper titled “Your Cache Has Fallen: Cache-Poisoned Denial-of-Service Attack” with complete details.

Disclosure

The vulnerability was reported to the affected vendors.

Amazon confirms the vulnerability in CloudFront and fixed the issue by stopping caching error pages with the status code 400 Bad Request by default.

Microsoft Fixed the Vulnerability CVE-2019-0941, by changing the way requests processed by filters.

Play 1 developers confirmed the issue and fixed by providing a security patch that limits the XHTTP-Method-Override header.

Researchers contacted other vendors including Flask, but no response from them, so the Flask-based web applications are still vulnerable to CPDoS.

Mitigations Suggested

  • HTTP pages to be cached according to the policies of the HTTP standard.
  • WAF to be deployed in front of the cache to block malicious requests.
  • Another effective method is to exclude error pages from caching.

You can follow us on LinkedinTwitterFacebook for daily Cybersecurity and Hacking News update.

Gurubaran

Gurubaran is a co-founder of Cyber Security News and GBHackers On Security. He has 10+ years of experience as a Security Consultant, Editor, and Analyst in cybersecurity, technology, and communications.

Recent Posts

Meta Removed 2 Million Account Linked to Malicious Activities

 Meta has announced the removal of over 2 million accounts connected to malicious activities, including…

1 hour ago

Veritas Enterprise Vault Vulnerabilities Lets Attackers Execute Arbitrary Code Remotely

Critical security vulnerability has been identified in Veritas Enterprise Vault, a widely-used archiving and content…

2 hours ago

7-Zip RCE Vulnerability Let Attackers Execute Remote Code

A critical security vulnerability has been disclosed in the popular file archiving tool 7-Zip, allowing…

3 hours ago

Massive Credit Card Leak, Database of 1,221,551 Cards Circulating on Dark Web

A massive data breach has sent shockwaves across the globe, as a database containing sensitive…

4 hours ago

Nearest Neighbor Attacks: Russian APT Hack The Target By Exploiting Nearby Wi-Fi Networks

Recent research has revealed that a Russian advanced persistent threat (APT) group, tracked as "GruesomeLarch"…

2 days ago

240+ Domains Used By PhaaS Platform ONNX Seized by Microsoft

Microsoft's Digital Crimes Unit (DCU) has disrupted a significant phishing-as-a-service (PhaaS) operation run by Egypt-based…

3 days ago