Cache poisoning
Getting a shared cache to store a harmful entry under a key that others later read (CAPEC-141): a web cache that serves a malicious response to other users, usually because an unkeyed input such as a header changed it, or a CI cache that later builds restore. Key every input that affects an entry, and never let untrusted jobs write to a cache that trusted ones read.
- Also called
- web cache poisoning
- Defined in
- MITRE CAPEC-141: Cache Poisoning
Covered in
Keep untrusted CI work outside the release boundary
Review workflow authority, persistent state and artifact handoffs before contributor-controlled code reaches privileged jobs.
Prevent shared-cache poisoning and private-response deception
Define lookup and storage policy, trace cache/origin interpretation differences and verify both public reuse and private isolation.
Practice: Actions injection lab: Flag GitHub Actions expression injection · Local project: Repair a real proxy and shared cache