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 Linkedin, Twitter, Facebook 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

OpenSSH sshole Flaw Allows Hackers to Log Into Password-Disabled Linux Accounts Using 257-Character Passwords

A decade-old authentication bypass in OpenSSH on musl-based Linux lets attackers log into accounts that…

2 minutes ago

New GhostMap Android Vulnerability Can Crash Phones Permanently Without Opening an App or Granting Permissions

Bitdefender researchers have revealed a vulnerability called GhostMap that affects Android devices. This vulnerability can…

12 minutes ago

Microsoft Paint Vulnerability Allows Hackers to Execute Malicious Code Remotely Without User Interaction

Microsoft has announced a vulnerability in Windows Paint that could let unauthenticated attackers execute malicious…

35 minutes ago

ARTEX AI Framework Linked to Bank Breaches and Cloud Attacks Found Exposed Across Hundreds of Servers

An autonomous penetration-testing framework linked to South Korean banking breaches and cloud supply-chain attacks is…

1 hour ago

Shopify Makes IP Allowlisting Mandatory for All Public Apps to Prevent Stolen API Token Abuse

Shopify is making IP allowlisting mandatory for all public apps to limit abuse of stolen…

1 hour ago

OpenAI’s New GPT-6 Cyber Finds 81 High-Severity Firefox Vulnerabilities and 948 Linux Kernel Exploits

OpenAI has introduced GPT-6 Cyber, a security-focused model built to find and validate exploitable vulnerabilities…

1 hour ago