The Role That Should Never Have Existed

On 29 July 2019, Capital One disclosed that an attacker had taken data relating to roughly 106 million people across the United States and Canada. The attacker was Paige Thompson, a former Amazon Web Services engineer, who was arrested the same day and convicted on computer fraud charges in June 2022. The company's settlements reached around $190 million.

September 28, 2026
5 Minute Read

Seven years on, Capital One is still one of the clearest public lesson in cloud security, and it is usually taught wrong. It may get filed under “SSRF vulnerability,” but under the hood, it reveals a broader lesson about cloud misconfigurations.

On 29 July 2019, Capital One disclosed that an attacker had taken data relating to roughly 106 million people across the United States and Canada. The attacker was Paige Thompson, a former Amazon Web Services engineer, who was arrested the same day and convicted on computer fraud charges in June 2022. The company's settlements reached around $190 million.

Here is the chain, and where it could have ended.

Four steps, each one permitted

A ModSecurity Web Application Firewall was running on an EC2 instance. It was misconfigured in a way that let it be used to relay requests.

The attacker used that to query the EC2 Instance Metadata Service. The metadata service returned temporary credentials for the IAM role attached to the instance. That is what the metadata service is designed to do for the workload running on the host, not for external actors.

Those credentials belonged to a role with permission to list and read from S3. So the attacker listed and read from S3 - more than 700 buckets, and roughly 30 GB of data.

At no point did anything malfunction. A misconfigured proxy did what a misconfigured proxy does. The metadata service returned credentials through a permitted path. The role used permissions it had been granted. Every step was, in the strict technical sense, authorized.

AWS later introduced IMDSv2 to make it significantly harder for attackers to use SSRF vulnerabilities to access instance metadata and credentials. Today, Aryon can enforce a policy requiring IMDSv2 at deployment, preventing EC2 instances configured to allow IMDSv1 from being created.

Why detection had so little to work with

This is the part that should worry anyone relying on monitoring alone. The API calls to S3 came from a legitimate IAM role, using valid temporary credentials, from an instance inside the environment. There was no malware, no exotic technique, no unusual protocol. To any monitoring system, it resembled a service doing its job.

One analysis of the incident put it plainly: standard security monitoring struggled because the activity looked like normal AWS API calls from an authorized service. An academic teardown published in ACM Transactions on Privacy and Security identified five distinct control failures: the misconfigured reverse proxy, the metadata service design that surrendered credentials, the over-provisioned IAM role, ineffective encryption, and inadequate intrusion detection.

Note the ratio. Four of those five are configuration decisions made before the attack. One is detection, and it was the last line, and it did not hold. Strip away the specifics and one question remains: why could a WAF read customer application data?

Nobody decided that on purpose. It happens through an ordinary sequence. A team needs something working. Narrow permissions produce an error under deadline pressure. The permission set widens until the error stops. The ticket closes. The role persists, and two years later it is load-bearing and nobody remembers why it has what it has.

Every step of that is rational. The result is a standing risk that a posture tool will report every scan, and that nobody will remediate, because narrowing permissions on a working production role is genuinely frightening.

What actually changed afterwards

AWS introduced IMDSv2, which requires a session token and closes off the naive SSRF path to the metadata service. That is a real improvement and it is worth enforcing. But notice what that fix does. It closes one route in. It does not remove the possibility of another route being created through a different cloud misconfiguration.

The lesson is not that every control must solve the entire attack. It is that every preventable configuration you stop before deployment removes one more link an attacker could use to build the attack chain.

The 2026 version of this incident

If you think this is a historical curiosity, look at where the industry's attention has moved.

The Cloud Security Alliance's Top Threats to Cloud Computing 2026, published in August 2026, ranks Inadequate Identity and Access Management at number one, citing excessive permissions and non-human identities among the drivers. CSA notes that "the rapid growth of non-human identities, machine-to-machine interactions, and autonomous decision-making has now surpassed what traditional management and oversight processes were designed to handle."

Capital One's over-permisioned role was attached to a workload. In 2026 those workloads are more numerous, created faster, and increasingly include AI agents operating with a developer's credentials. The mechanism has not changed. The volume has.

How Aryon helps

Aryon enforces cloud security policy at the moment of deployment, at the cloud control plane, so the risky configuration never exists.

Applied to this chain, there are two clear intervention points. Aryon can enforce a policy requiring IMDSv2 at deployment, preventing the unsafe configuration that allowed the SSRF path to reach the workload credentials. Aryon can also use access policies to prevent overly broad permissions from being abused, adding another layer of protection even if credentials are compromised. Instead of relying on a single control, the attack path can be broken at multiple points before it leads to sensitive data or resources.

That matters more than it sounds, because it does not depend on anyone noticing. There is no alert to triage, no finding to prioritize, no window between provisioning and detection.

Three things make that practical rather than theoretical:

  • Aryon allow you to deploy policies in a safe to production manner.
  • Help with the impact analysis, making it clear how the policy is going to impact the organization
  • You see the impact before you enforce. The assessment shows exactly what a policy would have prevented against your real environment, so you tune it before anything is live.
About
Yair Ladizhensky

Yair Ladizhensky is Co-Founder & CPO of Aryon Security, the Cloud Security Enforcement Platform that prevents cloud risks by enforcing policy before deployment. A former IDF cybersecurity R&D leader at Matzov and unit builder at Paragon, he is a Forbes Israel 30 Under 30 recipient and cofounder of the Matzov Entrepreneurship Forum.

Read more articles by author →
About
Vlad Babiuk

Vladislav Babiuk is Head of Product Marketing at Aryon Security, the Cloud Security Enforcement Platform that prevents cloud risks by enforcing policy before deployment. Previously at Stellar Cyber, he focused on Security and AI market intelligence, helping shape strategy and positioning around AI-driven security operations, NDR, XDR, and the evolution toward autonomous security.

Read more articles by author →

Frequently Asked Questions

What actually caused the Capital One data breach?
The Capital One breach is usually filed under "SSRF vulnerability," but the exploit itself is just one part of the chain, the chain consist of multiple misconfigurations and vulnerabilities, cut the chain once, the attack is prevented - a role with far broader access to S3 data than that workload ever needed, so once the attacker reached its credentials, more than 700 buckets and roughly 30 GB of customer data were exposed. Every step in the chain was technically authorized; the failure was a cloud misconfiguration in what the role was allowed to do, not a software flaw.
How do you prevent AWS misconfigurations like the one behind the Capital One breach?
AWS misconfigurations like Capital One's attack are prevented by enforcing policy at the moment a resource is created, rather than relying on a scan to catch excessive permissions after the fact. This is the core idea behind AWS misconfiguration prevention: close the gap at creation time, not after an incident forces a review.
What is the difference between cloud security detection and cloud security enforcement?
Cloud security detection, the model behind traditional monitoring and CSPM tools, identifies risky configurations after they are already live. Cloud security enforcement evaluates changes before deployment and prevents configurations that violate policy from being introduced in the first place. For example, instead of detecting an EC2 instance that allows IMDSv1 after deployment, enforcement can require IMDSv2 before the instance is created, reducing the risk of SSRF being used to obtain workload credentials. Enforcement policies can also prevent permissive permissions from being exploited if credentials are compromised. Detection finds the risk after it exists; enforcement breaks the attack path before it can be exploited.
How can IAM-related cloud misconfigurations be prevented?
IAM-related misconfigurations can be addressed by enforcing policies that restrict how permissions can be used, even when an identity has been granted broad access. In AWS, Resource Control Policies (RCPs) can establish organization-wide guardrails on resources, limiting access based on conditions such as trusted identities, networks, or organizations. This adds another layer of protection against overly permissive IAM configurations by preventing those permissions from being exploited outside the boundaries defined by policy.
What is a cloud security enforcement platform, and how would it have stopped the Capital One breach?
A cloud security enforcement platform evaluates cloud changes at deployment and enforces security policies before risky configurations become exploitable, rather than relying on detection after the fact. Applied to the Capital One breach, enforcing IMDSv2 would have prevented the unsafe metadata service configuration that allowed the SSRF vulnerability to retrieve workload credentials. Additional policies can also restrict how permissive IAM permissions are exploited if credentials are compromised. That’s the practical difference between detecting a risky attack path and enforcing the controls that prevent it from being successfully exploited.

Notes & Sources

Sources: US federal indictment and Department of Justice filings; Krebs on Security, "What We Can Learn from the Capital One Hack" (August 2019), "A Systematic Analysis of the Capital One Data Breach," ACM Transactions on Privacy and Security; Capital One public disclosures. Cloud Security Alliance, "Top Threats to Cloud Computing Survey Report 2026," 13 August 2026. Aryon figures are 2025–26 deployment results.

‍

Continue reading

September 21, 2026
Tom Tsabar

Exploiting Cloud Misconfigurations: How Attackers Find Cloud Attack Paths (Part 1 - The Basics)

Cloud attacks don’t always begin with a vulnerability. Often, they begin with a misconfiguration that gives an attacker a path in. In Part 1 of this series, we look at cloud environments from the attacker’s perspective and break down the three conditions behind many exploitable cloud attack paths: Resource DIscovery, Network Accessibility, and Identity-Based Access.

September 14, 2026
Ariel Litmanovich
Vlad Babiuk

Five Reasons Your Cloud Security Solution Is Failing You

Your cloud security tools may be working exactly as designed. That’s the problem.

Security teams are still finding and fixing the same misconfigurations over and over. The issue isn’t the tools-it’s a reactive model that detects risk after it already exists. Here are five signs that model has reached its limit.

‍

September 7, 2026
Tom Tsabar
Ariel Litmanovich

50 Ways to Break Production - Why Cloud Security Remediation Is Harder Than It Looks

Cloud remediation is rarely as simple as changing a setting. Fixes can break production, require architectural changes or migrations, and conflict with IaC ownership. Prevention takes a different path: enforce the right configuration before deployment, while the resource is still cheap and safe to change. This article explores the challenges of remediating issues safely and effectively, and highlights what teams need to consider when remediation is unavoidable.

July 29, 2026
Ariel Litmanovich
Tom Tsabar
Ido Dar

Cloud ShutterGap: Millions of Cloud Resources Exposed - The Blind Spot CSPM/CNAPP Tools Don’t Cover

Aryon's research reveals millions of misconfigured ephemeral cloud resources, publicly exposed for only moments before being removed. Often, these exposures last only a few minutes, long enough for attackers to discover and exploit them, but too short for traditional CSPM and CNAPP tools to detect. Many of these resources contain highly sensitive information.

May 25, 2026
Ron Arbel

The Missing Link Between Security and Operation: Bringing Security Policy into the Moment of Deployment

In cloud environments, security and operations often meet too late. Security teams define the policies, best practices, compliance requirements, threat models, and risk tolerance that should guide how cloud resources are configured. DevOps and IT teams apply those decisions in practice as they create, configure, and change cloud resources every day.

May 3, 2026
Joshua Behar
Ron Arbel

Can We Kill the Kill Chain by Preventing Cloud Security Misconfigurations?

How Marriott, SolarWinds, and Salesloft/Drift expose a structural flaw in modern cloud security and how to fix it before the next breach starts.

Ready to take your first proactive step?