Dans un billet technique publié le 14 janvier 2026, l’auteur détaille une méthode permettant à un adversaire de forger des cookies d’authentification pour des applications Next.js utilisant NextAuth/Auth.js, en s’appuyant sur la vulnérabilité React2Shell (CVE-2025-55182).
Le contexte décrit que l’exploitation de React2Shell peut laisser très peu de traces et permettre à un attaquant d’exfiltrer des variables d’environnement, notamment des identifiants OAuth et surtout le secret d’application de NextAuth (NEXTAUTH_SECRET/AUTH_SECRET). L’article souligne que la rotation des seuls secrets OAuth est insuffisante : le secret NextAuth est la clé pour chiffrer et authentifier les cookies de session.
Point central: « le NEXTAUTH_SECRET suffit ». NextAuth dérive les clés d’encryption via HKDF et chiffre les JWT de session en JWE, en utilisant le nom du cookie comme sel (ex. authjs.session-token, __Secure-authjs.session-token, next-auth.session-token). L’auteur présente un outil de démonstration (encodeur/décodeur) prouvant qu’avec ce secret, il est possible de générer et valider des cookies valides; il mentionne aussi le cas de tokens fragmentés (token0 + token1) à concaténer.
Impact: si une application exposée est vulnérable à React2Shell et que le NEXTAUTH_SECRET/AUTH_SECRET n’a pas été renouvelé, un adversaire peut usurper n’importe quel utilisateur (quel que soit son rôle) et conserver un accès persistant, même si les identifiants OAuth ont été tournés.
Détection proposée dans l’article:
- Journaliser l’ID de JWT (jti) de chaque session et alerter sur des doublons depuis des IP différentes
- Détecter l’« impossible travel »
- Surveiller des sessions sans évènements de connexion correspondants
- Repérer des accès hors horaires habituels ou avec des user-agents atypiques
TTPs et IoCs:
- TTPs: exploitation de React2Shell (CVE-2025-55182) pour lire les variables d’environnement; forgery de cookies NextAuth via NEXTAUTH_SECRET/AUTH_SECRET; HKDF pour la dérivation de clés; JWE pour le chiffrement/signature des JWT; utilisation du nom du cookie comme sel; gestion des tokens fragmentés (token0+token1).
- IoCs: aucun indicateur concret (hash, domaine, IP) n’est partagé.
Il s’agit d’une analyse technique présentant une TTP et un outil de démonstration, visant à sensibiliser au risque de persistance via les secrets NextAuth.
🧠 TTPs et IOCs détectés
TTP
Exploitation de React2Shell (CVE-2025-55182) pour lire les variables d’environnement; forgery de cookies NextAuth via NEXTAUTH_SECRET/AUTH_SECRET; HKDF pour la dérivation de clés; JWE pour le chiffrement/signature des JWT; utilisation du nom du cookie comme sel; gestion des tokens fragmentés (token0+token1).
IOC
Aucun indicateur concret (hash, domaine, IP) n’est partagé.
🔗 Source originale : https://embracethered.com/blog/posts/2026/minting-next-auth-nextjs-auth-cookies-react2shell-threat/