flawopen.com/Incidentes/Capital One SSRF

Capital One: o SSRF que transformou uma requisição web em credenciais de nuvem

Critical — 100M+ records CWE-918: Server-Side Request Forgery Disclosed July 2019
ELI5 (Explicado de Forma Simples)

Uma empresa possui uma recepcionista que busca encomendas em qualquer endereço que o cliente solicitar. Dentro do prédio, há uma porta sem identificação que entrega a chave mestra de todas as gavetas para qualquer um que bater nela. Um cliente pede à recepcionista para bater nessa porta interna e trazer o envelope.

Why this incident reshaped cloud defaults

Capital One is the reason SSRF stopped being treated as a second-tier bug class. Before it, SSRF was often triaged as an information-disclosure nuisance. After it, the industry understood that in a cloud environment SSRF is a credential-theft primitive — because the cloud platform itself puts a credential vending machine at a fixed, well-known, unauthenticated address inside every instance.

AWS introduced IMDSv2 in November 2019, requiring a PUT to obtain a session token and defaulting to a low IP hop limit. Both changes specifically break the "one blind GET" pattern this attack relied on. Equivalent hardening exists across other cloud providers.

The lessons that actually transfer

FAQ

Does IMDSv2 make SSRF safe?

No — it removes one very high-value target. SSRF can still reach internal admin interfaces, databases, Kubernetes APIs, and other services that trust the network position of the caller. It remains a serious bug class on its own merits.

Would a WAF have stopped this?

The vulnerable component in this case was a web application firewall, which is a useful reminder that security appliances are applications too. Filtering rules can raise the cost of exploitation but do not address the underlying design, which is that a server will fetch whatever address it is told to.

Related reading

Fontes e comunicados oficiais