Aller au contenu
Blog

Rapyd Admin · Laravel · Grav

Rapyd Admin CVE-2026-109566 et Grav Login OAuth CVE-2026-109321 : des identifiants prévisibles

Rapyd Admin (corrigé en 9.20.0) recrée un super-admin par défaut, Grav Login OAuth (corrigé en 1.4.3) dérive ses mots de passe. Deux CVE critiques à traiter.

4 min de lectureCVE-2026-109566CVE-2026-109321

Le 12 octobre 2026, NVD a publié deux vulnérabilités critiques qui reposent sur la même erreur de conception : des identifiants qu'un attaquant peut connaître ou reconstituer. Pas de faille mémoire, pas de chaîne complexe : il suffit de se connecter.

  • Rapyd Admin, un panneau d'administration pour Laravel, crée un compte super-admin aux identifiants documentés, et le recrée silencieusement.
  • Grav Login OAuth, le plugin de connexion OAuth du CMS Grav, crée des comptes locaux dont le mot de passe se déduit d'une donnée non secrète.

Bonne nouvelle : dans les deux cas, NVD cite une version corrigée.

CVE-2026-109566CVE-2026-109321
ProduitRapyd AdminGrav Login OAuth (grav-plugin-login-oauth)
CVSS 3.19.8 (CRITICAL)9.1 (CRITICAL)
VecteurAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HAV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Publication NVD2026-10-122026-10-12
Concerné selon NVDde 9.0.0 à avant 9.20.0avant 1.4.3
Corrigé en9.20.01.4.3
CISA KEVnon (à la date de rédaction)non (à la date de rédaction)

Rapyd Admin — CVE-2026-109566 : le super-admin qui revient

The account is seeded by the setup installer and silently re-created on every rpd:make run

L'installeur de Rapyd Admin sème en base un compte super-administrateur avec des identifiants par défaut documentés. Classique, et dangereux si on oublie de le supprimer. Mais le détail qui rend cette CVE pire que d'habitude, c'est la seconde moitié de la phrase : le compte est recréé à chaque exécution de la commande de génération rpd:make.

Concrètement, tu peux avoir supprimé ce compte après l'installation, puis le voir réapparaître la prochaine fois qu'un développeur génère un module. Une suppression manuelle ne protège donc pas durablement.

Le compte est un super-admin global : selon NVD, il contourne l'autorisation par enregistrement et le cloisonnement entre tenants. Sur une application multi-clients, c'est l'accès à toutes les données de tous les clients.

Mesures spécifiques :

  1. Mettre à jour vers 9.20.0 ou plus récent.
  2. Vérifier la table des utilisateurs après la mise à jour, et après chaque exécution des commandes de génération : aucun compte super-admin ne doit exister en dehors de ceux que tu as créés et nommés.
  3. Faire tourner les secrets de l'application (clé APP_KEY, jetons d'API, identifiants de base) si le compte par défaut a pu être utilisé.

Grav Login OAuth — CVE-2026-109321 : un mot de passe qui n'est pas secret

Unauthenticated remote attackers who learn or guess a provider identifier can reproduce these credentials and log in

Quand un utilisateur se connecte via un fournisseur OAuth (Google, GitHub…), le plugin crée un utilisateur Grav local. Le problème, d'après NVD, tient en trois points :

  • le nom d'utilisateur suit un format déterministe ;
  • le mot de passe est dérivé de l'identifiant du fournisseur, sans aucun secret ;
  • la connexion par mot de passe reste active pour ces comptes.

Or l'identifiant d'un compte chez un fournisseur OAuth n'est pas un secret : il peut être visible publiquement ou deviné. Quiconque le connaît peut reconstituer les identifiants locaux et se connecter par le formulaire classique, sans passer par OAuth. Si le compte est administrateur, c'est le contrôle du site.

Le vecteur NVD exclut l'impact sur la disponibilité (A:N), d'où le 9.1, mais confidentialité et intégrité sont totales.

Mesures spécifiques :

  1. Mettre à jour le plugin vers 1.4.3 ou plus récent.
  2. Réinitialiser les mots de passe de tous les comptes créés par le plugin, ou désactiver leur connexion par mot de passe, selon ce que propose la version corrigée. La mise à jour du code ne change pas forcément les comptes déjà créés : vérifie-le dans l'avis du projet.
  3. Revoir les privilèges : un compte créé par OAuth ne devrait pas être administrateur par défaut.

Détection

  • Rapyd Admin : connexions réussies du compte par défaut dans les journaux d'authentification ; compte super-admin présent en base sans que tu l'aies créé ; actions transverses entre tenants.
  • Grav : connexions par mot de passe sur des comptes censés n'utiliser qu'OAuth ; connexions admin depuis des adresses inhabituelles ; pages, plugins ou utilisateurs modifiés sans raison dans user/.
  • Pour les deux : nouveaux comptes, changements de rôle, fichiers PHP récents dans l'arborescence web.

Mitigation générale

  1. Appliquer les versions corrigées citées par NVD : 9.20.0 pour Rapyd Admin, 1.4.3 pour le plugin Grav.
  2. Auditer les comptes existants : la mise à jour ferme la porte, elle ne retire pas forcément un compte déjà créé.
  3. Restreindre les interfaces d'administration à un réseau d'administration ou derrière un VPN.
  4. En cas d'accès suspect : traiter l'application comme compromise, faire tourner ses secrets et vérifier l'intégrité des fichiers.

Pourquoi surveiller en continu vos composants applicatifs

Un plugin CMS ou un package de back-office n'apparaît pas dans un inventaire de serveurs. Pourtant, une seule ligne de son code suffit à ouvrir l'administration complète. Suivre les versions des composants, pas seulement des machines, c'est ce qui permet de voir ces CVE à temps.

Avec cveo.tech, inventorie tes CMS, plugins et frameworks avec leur version et reçois une alerte dès qu'une CVE critique les concerne.

Chaque lundi

Les CVE critiques de la semaine, dans votre boîte mail

Un email par semaine : les vulnérabilités CVSS ≥ 9 publiées ces sept derniers jours, et nos dernières analyses. Rien d'autre.

Double confirmation par email. Désinscription en un clic, à tout moment.

Surveillez votre propre parc

Recherche CVE, inventaire de parc et alertes email, gratuitement.