Toutes les vulnérabilités
HIGHOpSeccurated

OPSEC-OKTA-2023

Identity · Okta

Résumé

Okta is an identity provider: the single front door thousands of companies use to log their employees into everything. So when Okta's customer-support system was breached in late 2023, the blast radius was a who's-who of security-conscious companies. The entry point was almost mundane. An employee had signed into their personal Google account on an Okta laptop and saved a corporate service-account password into it; the attacker got that password and walked into Okta's support system. There they downloaded diagnostic files that customers had uploaded, some of which contained live session tokens, and used those tokens to step directly into the customers' own Okta environments. It is the lesson that session tokens are as good as passwords, support systems are production systems, and a personal browser profile can be the crack in the wall.

How it happened

Between 28 September and 17 October 2023, an attacker used stolen credentials to access Okta's customer-support case-management system. The credentials belonged to a service account, and they leaked through an ordinary-seeming mistake: an employee had signed into a personal Chrome profile on an Okta-managed laptop and saved the service-account password into their personal Google account, which synced it out of the company's control.

Inside the support system, the attacker downloaded HTTP Archive (HAR) files that customers had uploaded for troubleshooting. HAR files are full recordings of a browser session, and they can contain valid session tokens. The attacker extracted those tokens and replayed them, hijacking the sessions to access the customers' own Okta tenants directly, with no need for the password or MFA, because a session token represents an already-authenticated session. Okta initially said the breach touched 134 customers, with confirmed session hijacking at five, including BeyondTrust, Cloudflare, and 1Password, which detected it through their own monitoring. But a month later, on 29 November, Okta disclosed a far wider exposure: the attacker had also downloaded a report containing the names and email addresses of every user of its support system, effectively all of its customers.

The damage

Beyond the 134 case-file victims and the five confirmed session hijacks, and then the contact details of the entire support userbase, the deeper damage was reputational and structural: a breach of an identity provider is a supply-chain breach for every customer that depends on it, and the customers, major security firms, caught the intrusion before Okta confirmed it. BeyondTrust flagged the activity to Okta on 2 October, but Okta's security team did not confirm the breach for another 17 days, during which the attacker kept its access. The market noticed too: Okta's share price shed roughly $2 billion in value in the week after disclosure. It was a pointed reminder that the company guarding everyone's front door has to hold itself to the highest standard.

Why Okta still matters

Okta leaves three lessons. First, session tokens are bearer credentials: a stolen token bypasses passwords and MFA entirely, so they must be protected like passwords, bound to device and IP, kept short-lived, and scrubbed from any file before it is shared. BeyondTrust's own admin account was protected by FIDO2 and a managed-device policy, so when the stolen token was replayed it was blocked, and the attacker's fallback to admin API calls was also caught, a clean demonstration that device-bound MFA beats a stolen session. (Okta's named fix was to bind admin session tokens to network location.) Second, support systems are production systems: they hold real customer data and access and must be secured to the same standard. Third, personal-account sync on managed devices is a leak path, which is why Okta blocked personal Google sign-in on managed devices afterward. Okta's identity layer is also the exact pivot Scattered Spider exploited in attacks like MGM.

Comment le corriger

  • Revoke and rotate the compromised service-account credential and invalidate all session tokens that could have been exposed, forcing re-authentication.
  • Notify affected customers fast and transparently (the delay drew justified criticism), and help them hunt for token replay in their tenants.
  • Block personal-account sign-in and profile sync on managed devices so corporate secrets cannot leak into personal accounts.

Comment l’éviter

  • Treat session tokens as bearer credentials: bind them to device and IP, keep sessions short, and re-authenticate for sensitive actions.
  • Scrub diagnostic files (HAR captures) of session tokens and secrets before they are uploaded or shared; never upload a HAR with live tokens.
  • Secure support and internal tooling to the same standard as production, since it holds real customer data and access.
  • Block personal-account sign-in and browser-profile sync on managed devices, the exact leak path here.
  • Detect and respond to token replay (an existing session reused from a new device), and act on customer reports immediately.

Références

Vulnérabilités liées

Tout OpSec →