🔬 Source et contexte : Publication de recherche de l’équipe Unit 42 de Palo Alto Networks, datée du 3 août 2026, constituant la troisième partie d’une série sur la sécurité des passkeys. L’article analyse des attaques inédites contre l’écosystème de passkeys synchronisées de Google Password Manager sur Chrome/Windows avec TPM.
⚠️ Contexte général : Les passkeys remplacent les mots de passe par de la cryptographie à clé publique, éliminant les secrets partagés. Cependant, des failles dans les implémentations réelles permettent des prises de contrôle de comptes malgré ces protections.
🎯 Les trois attaques « Pass-ta-key » :
-
Pass-ta-key : Un malware non privilégié extrait la
wrapped_identity_private_keydepuis le fichierpasskey_enclave_stateou la mémoire de Chrome, puis utilise les API Windows CNG (NCryptOpenStorageProvider,NCryptImportKey,NCryptSignHash) pour signer les requêtes vers le Cloud Authenticator Google sans interaction utilisateur, sans élévation de privilèges et sans déverrouillage du device. L’attaquant s’authentifie ensuite auprès du relying party via une assertion valide. -
Silver Pass-ta-key : L’attaquant invalide la clé UV existante (en supprimant
passkey_enclave_stateou via une commandedevice/forget), force Chrome à re-onboarder le device, puis exploite l’étatuv_key_pendingpour enregistrer une clé UV contrôlée par l’attaquant via la commandedevice/add_uv_key. Le Cloud Authenticator ne valide pas l’attestation des nouvelles clés UV, permettant à l’attaquant de générer des assertions avec le bit UV=1 sans accès physique au device victime. -
Golden Pass-ta-key : Le Security Domain Secret (SDS), clé maître de 32 octets protégeant toutes les passkeys synchronisées, est exposé en clair dans les logs Chrome (
chrome://device-log/FIDO) lors de l’onboarding, et reste accessible en mémoire du processus Chrome. L’attaquant force un re-onboarding, surveille la recréation depasskey_enclave_state, dump la mémoire Chrome pour extraire le SDS, puis déchiffre toutes les clés privées des passkeys depuis la base de données de synchronisation Chrome (WebauthnCredentialSpecificsdans LevelDB). Cette attaque fournit une persistance totale car le SDS ne peut pas être révoqué dans l’implémentation actuelle de Google.
📁 Artefacts et chemins clés :
%LocalAppData%\Google\Chrome\User Data\<Profile>\Sync Data\LevelDB(base de données de synchronisation des passkeys)- Fichier
passkey_enclave_state(contientwrapped_identity_private_key) chrome://device-log/FIDO(exposait le SDS en clair)
🏢 Impact démontré : Prise de contrôle de comptes sur des applications de messagerie, eBay (avant correctif), et une plateforme d’échange de cryptomonnaies. eBay a corrigé la validation du flag UV suite au signalement.
🔍 Divulgation responsable : Toutes les vulnérabilités ont été divulguées de manière responsable. Google a retiré le SDS des logs Chrome suite au rapport, mais le SDS reste accessible en mémoire. Il n’existe pas de mécanisme de rotation du SDS dans l’implémentation actuelle.
📄 Type d’article : Publication de recherche offensive/défensive à visée CTI, dont le but principal est de documenter de nouvelles classes d’attaques contre les passkeys synchronisées et d’alerter les relying parties, fournisseurs de credential managers et défenseurs sur ces vecteurs émergents.
🧠 TTPs et IOCs détectés
TTP
- T1555.003 — Credentials from Password Stores: Credentials from Web Browsers (Credential Access)
- T1539 — Steal Web Session Cookie (Credential Access)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1005 — Data from Local System (Collection)
- T1003 — OS Credential Dumping (Credential Access)
- T1134 — Access Token Manipulation (Defense Evasion)
- T1078 — Valid Accounts (Defense Evasion)
- T1550 — Use Alternate Authentication Material (Lateral Movement)
- T1056 — Input Capture (Collection)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
IOC
- Fichiers :
passkey_enclave_state - Chemins :
%LocalAppData%\Google\Chrome\User Data\<Profile>\Sync Data\LevelDB
Malware / Outils
- Trojan (générique) (rat)
🟢 Indice de vérification factuelle : 66/100 (haute)
- ✅ unit42.paloaltonetworks.com — source reconnue (liste interne) (20pts)
- ✅ 34646 chars — texte complet (fulltext extrait) (15pts)
- ✅ 2 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 10 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://unit42.paloaltonetworks.com/passwordless-authentication-security-risks/