CAPEC-141: Cache Poisoning
An attacker exploits the functionality of cache technologies to cause specific data to be cached that aids the attackers' objectives. This describes any attack whereby an attacker places incorrect or harmful material in cache. The targeted cache can be an application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache). Until the cache is refreshed, most applications or clients will treat the corrupted cache value as valid. This can lead to a wide range of exploits including redirecting web browsers towards sites that install malware and repeatedly incorrect calculations based on the incorrect value.
Last updated
Overview
CAPEC-141 (Cache Poisoning) is a standard-level attack pattern catalogued by MITRE in the Common Attack Pattern Enumeration and Classification (CAPEC). It describes a recurring method attackers use to exploit software weaknesses.
How the attack works
The phases an attacker typically follows to carry out this attack.
- Step 1Explore
[Identify and explore caches] Use tools to sniff traffic and scan a network in order to locate application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache) that may have vulnerabilities. Look for poisoning point in cache table entries.
- Run tools that check available entries in the cache.
- Step 2Experiment
[Cause specific data to be cached] An attacker sends bogus request to the target, and then floods responses that trick a cache to remember malicious responses, which are wrong answers of queries.
- Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).
- Step 3Exploit
[Redirect users to malicious website] As the attacker succeeds in exploiting the vulnerability, they are able to manipulate and interpose malicious response data to targeted victim queries.
- Intercept or modify a query, or send a bogus query with known credentials (such as transaction ID).
- Adversary-in-the-Middle attacks (CAPEC-94) intercept secure communication between two parties.
What the attacker needs
Prerequisites
- The attacker must be able to modify the value stored in a cache to match a desired value.
- The targeted application must not be able to detect the illicit modification of the cache and must trust the cache value in its calculations.
Skills required
- Medium skill: To overwrite/modify targeted cache
How to mitigate it
Defenses that reduce the risk of CAPEC-141.
- Configuration: Disable client side caching.
- Implementation: Listens for query replies on a network, and sends a notification via email when an entry changes.
Examples
In this example, an attacker sends request to a local DNS server to look up www.example .com. The associated IP address of www.example.com is 1.3.5.7. Local DNS usually caches IP addresses and do not go to remote DNS every time. Since the local record is not found, DNS server tries to connect to remote DNS for queries. However, before the remote DNS returns the right IP address 1.3.5.7, the attacker floods local DNS with crafted responses with IP address 2.4.6.8. The result is that 2.4.6.8 is stored in DNS cache. Meanwhile, 2.4.6.8 is associated with a malicious website www.maliciousexampsle.com When users connect to www.example.com, the local DNS will direct it to www.maliciousexample.com, this works as part of a Pharming attack.
Terminology & mappings
Mapped taxonomies
- ATTACK: Adversary-in-the-Middle: ARP Cache Poisoning (1557.002)
- OWASP Attacks: Cache Poisoning
Frequently asked questions
Common questions about CAPEC-141.
- What is CAPEC-141?
- An attacker exploits the functionality of cache technologies to cause specific data to be cached that aids the attackers' objectives. This describes any attack whereby an attacker places incorrect or harmful material in cache. The targeted cache can be an application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache). Until the cache is refreshed, most applications or clients will treat the corrupted cache value as valid. This can lead to a wide range of exploits including redirecting web browsers towards sites that install malware and repeatedly incorrect calculations based on the incorrect value.
- How does a Cache Poisoning attack work?
- It typically unfolds over 3 phases. It begins with: [Identify and explore caches] Use tools to sniff traffic and scan a network in order to locate application's cache (e.g. a web browser cache) or a public cache (e.g. a DNS or ARP cache) that may have vulnerabilities. Look for poisoning point in cache table entries.
- How do you prevent CAPEC-141?
- Configuration: Disable client side caching.
- What weaknesses does CAPEC-141 target?
- CAPEC-141 exploits 4 CWE weaknesses, including CWE-345 (Insufficient Verification of Data Authenticity), CWE-346 (Origin Validation Error), CWE-348 (Use of Less Trusted Source), CWE-349 (Acceptance of Extraneous Untrusted Data With Trusted Data).
- How severe is CAPEC-141?
- MITRE rates CAPEC-141 as High severity with high likelihood of attack.
References
Attack-pattern data is sourced from the MITRE CAPEC catalog (v3.9). Weakness associations link to the corresponding CWE entries on RadicalNotion.AI.
Defend against CAPEC-141
Track the CVEs and weaknesses attackers exploit with this technique, with AI-written analysis and remediation guidance.