Guide

Rôles utilisateur WordPress : chaque administrateur en trop est une porte d'entrée

Les rôles utilisateur WordPress comptent plus depuis Click2Shell : en septembre 2026, WordPress 7.1.1 a corrigé cette faille — un lien piégé qui, ouvert par un administrateur connecté, installait un thème depuis WordPress.org et en exécutait le code. Un pare-feu n'y voyait rien d'anormal, seulement le navigateur d'un administrateur qui fait ce que font les administrateurs. Ces failles se corrigent ; le schéma reste. Tout ce qui passe par la session d'un administrateur passe par chaque compte administrateur de votre site. Leur nombre, et combien appartiennent à des personnes qui ne se connectent plus, est donc un réglage de sécurité à part entière. Ce guide explique comment les compter, quel rôle donner aux autres et comment garder la liste courte.

Ce qu'un administrateur peut faire, et personne d'autre

WordPress donne à chaque compte un rôle, et à chaque rôle un ensemble de capacités. Sur un site simple, seuls les administrateurs peuvent installer des extensions et des thèmes, modifier leur code dans les éditeurs intégrés, ouvrir l'outil de personnalisation (Customizer) et créer ou promouvoir des utilisateurs (Roles and Capabilities). Installer une extension, c'est exécuter du PHP sur votre serveur : un compte administrateur est donc, en pratique, le pouvoir d'exécuter n'importe quel code.

C'est pourquoi les attaques visent les administrateurs : un lien d'hameçonnage, un mot de passe réutilisé venant de la fuite d'un autre site, un cookie de session volé, une extension de navigateur malveillante. Chacune fonctionne contre un compte. Plus il y a de comptes administrateur, plus il y a de chances que l'un d'eux serve, et celui qui en obtient un en laisse généralement un autre pour revenir.

Ce que Click2Shell a montré

Click2Shell, trouvé avec Claude Opus 5 et un chercheur humain et décrit par pwn.ai, n'avait besoin ni de mot de passe ni d'extension vulnérable pour démarrer. Un administrateur ouvrait un lien en étant connecté. Le propre JavaScript de WordPress dans wp-admin cliquait sur Installer pour un thème du répertoire officiel, et l'aperçu du Customizer chargeait le PHP de ce thème sans qu'il soit jamais activé. Le code du thème installé donnait ensuite à l'attaquant un moyen d'exécuter le sien. Les éditeurs et les rôles inférieurs ne pouvaient pas le déclencher, car installer des thèmes demande des capacités d'administrateur.

C'est corrigé dans WordPress 7.1.1, publié le 17 septembre 2026 : mettez à jour si ce n'est pas fait. La leçon survit à la faille : quand une attaque passe par la session d'un administrateur, votre exposition, c'est le nombre de personnes qu'on peut pousser à un clic pendant qu'elles sont connectées comme tel.

Les administrateurs que personne n'utilise

L'administrateur le plus risqué est souvent celui auquel personne ne pense : le développeur qui a construit le site, l'agence d'il y a deux ans, une collègue partie, un compte de test. Son mot de passe figure peut-être sur une liste issue de la fuite d'un autre site, et s'il est utilisé, personne ne le remarque : personne ne s'attend à ce qu'il se connecte, donc personne n'est surpris quand il le fait.

Un compte qui ne s'est pas connecté depuis trois mois n'a pas besoin d'être administrateur. Supprimez-le, ou baissez son rôle jusqu'à ce que quelqu'un le redemande vraiment.

Comment savoir s'il y en a trop

Dans wp-admin, ouvrez "Users" (Utilisateurs) et cliquez sur le filtre "Administrator" au-dessus de la liste. Le nombre affiché à côté est le nombre de comptes qui peuvent installer du code. La plupart des sites en ont besoin d'un ou deux : le propriétaire et la personne qui maintient le site. Pour chacun, demandez-vous : est-ce une vraie personne, travaille-t-elle encore sur le site, et doit-elle installer des extensions ou gérer des utilisateurs, ou seulement modifier des pages, des articles ou la boutique ?

WordPress n'enregistre pas la dernière connexion de chacun : l'écran des utilisateurs ne peut donc pas vous dire qui est inactif. Il vous faut quelque chose qui journalise les connexions : une extension de journal d'activité ou de sécurité, les journaux d'accès de votre hébergeur, ou l'extension Relvato avec son journal d'activité activé (voir plus bas). En attendant, demandez aux personnes derrière chaque compte.

Au passage, ouvrez le profil de chaque administrateur et regardez "Application Passwords" vers le bas. Chacun se connecte à l'API REST sans le formulaire de connexion ni l'authentification à deux facteurs. Révoquez ceux que personne ne reconnaît avant de modifier le compte.

Donnez à chacun le rôle minimal dont il a besoin

En sécurité, c'est le principe du moindre privilège (OWASP). Un éditeur (Editor) publie et gère les articles et pages de tous, les commentaires et les médias, mais ne peut ni installer d'extensions ou de thèmes, ni ouvrir le Customizer, ni gérer les utilisateurs. Sous WooCommerce, le "Shop manager" (gestionnaire de boutique) gère produits, commandes, codes promo, rapports et réglages WooCommerce, et peut modifier les comptes clients, mais ne peut pas installer d'extensions ou de thèmes (rôles WooCommerce). Auteur et Contributeur (Author, Contributor) sont pour ceux qui ne font qu'écrire.

Éditeur, c'est moins de pouvoir, pas aucun : sur un site simple, un éditeur peut toujours mettre du HTML et du JavaScript bruts dans le contenu (la capacité unfiltered_html). Donnez-le à des personnes à qui vous confieriez la page d'accueil.

Pour changer un rôle : "Users" → le compte → "Edit" → "Role" → "Update User". Pour plusieurs à la fois, cochez-les dans la liste et utilisez "Change role to…". Pour supprimer un compte, choisissez "Delete" : WordPress demande quoi faire de son contenu ; choisissez "Attribute all content to" et un compte existant, pour ne perdre ni articles ni pages. Faites-le depuis votre propre compte administrateur, et gardez au moins un administrateur avec lequel vous pouvez vous connecter.

Garder la liste courte

Un compte nominatif par personne. Un identifiant "admin" partagé ne peut pas être retiré à une seule personne quand elle part, et les journaux ne peuvent pas dire qui a fait quoi.

Un accès temporaire pour les développeurs et le support. Donnez à un prestataire le rôle d'administrateur le temps de la mission, puis baissez-le ou supprimez-le une fois le travail terminé ; notez la date dans votre agenda dès la création du compte.

L'authentification à deux facteurs pour chaque administrateur restant, via une extension de sécurité. Elle n'arrête pas une session volée, mais elle arrête un mot de passe réutilisé.

Une revue dès que les personnes changent : quelqu'un part, une agence passe la main, un projet se termine. C'est chaque fois le moment d'ouvrir "Users" et de filtrer à nouveau sur "Administrator". Les extensions et thèmes inactifs laissés installés sont l'autre moitié de la même exposition : Click2Shell a exécuté le code d'un thème que personne n'avait activé.

Comment Relvato le repère

Le moniteur Admin roster de Relvato lit les comptes administrateur du site via l'extension WordPress de Relvato. Au-delà de trois, l'exécution réussit avec un avertissement qui indique combien il y en a et suggère le rôle Editor ou Shop manager. Avec "Activity log and error capture" activé dans l'extension (Relvato → Settings, extension 1.56.0 ou plus récente), il enregistre aussi quand chaque administrateur se connecte et, une fois les connexions suivies pendant 90 jours, nomme chaque administrateur qui ne s'est pas connecté sur cette période. D'ici là, l'exécution indique combien de jours il reste au lieu de deviner.

Relvato ne rétrograde ni ne supprime jamais un compte à votre place : qui doit être administrateur est une décision sur des personnes, et un compte supprimé ne peut pas être récupéré depuis Relvato. L'avertissement vous dit où le faire. Si le nombre est le bon pour votre site, par exemple une équipe de cinq personnes qui le maintiennent, cliquez sur "Ignore this warning". Le même moniteur signale aussi les cas plus urgents : un compte client promu administrateur, un administrateur caché de l'écran des utilisateurs, un nouveau mot de passe d'application.

Avec l'offre Free, vous cliquez sur Run quand vous voulez vérifier, ou vous le programmez chaque semaine. Pro relance vos moniteurs de lui-même après chaque mise à jour, et l'Admin roster dès qu'un rôle change sur le site : un nouvel administrateur apparaît le jour même.

Quel rôle pour qui

RôlePeutNe peut pasPour
Administrateur (Administrator)Installer extensions et thèmes, modifier leur code, gérer utilisateurs et réglages—Le propriétaire et la personne qui maintient le site : une ou deux personnes
Shop manager (WooCommerce)Produits, commandes, codes promo, rapports, réglages WooCommerce, comptes clientsInstaller extensions ou thèmesLa personne qui gère la boutique au quotidien
Éditeur (Editor)Publier et modifier les articles et pages de tous, commentaires, médias ; HTML brut sur un site simpleInstaller extensions ou thèmes, le Customizer, les utilisateursResponsables de contenu à qui vous confiez la page d'accueil
Auteur (Author)Écrire, publier et ajouter des médias à ses propres articlesModifier les articles des autres ou les pagesRédacteurs réguliers
Contributeur (Contributor)Écrire et modifier ses propres brouillonsPublier, téléverser des fichiersAuteurs invités

Questions fréquentes

Combien d'administrateurs un site WordPress devrait-il avoir ?

Aussi peu que le travail le permet : pour la plupart des sites, un ou deux, le propriétaire et la personne qui maintient le site. Les autres reçoivent le rôle minimal qui couvre leur travail. Une équipe de maintenance plus grande peut en demander davantage ; ce qui compte, c'est que chaque compte appartienne à une vraie personne qui en a encore besoin.

Le rôle Éditeur est-il sûr à attribuer ?

Plus sûr, pas inoffensif. Un éditeur ne peut ni installer d'extensions ou de thèmes, ni ouvrir le Customizer, ni gérer les utilisateurs : les attaques qui en ont besoin, dont Click2Shell, ne passent pas par un compte éditeur. Mais sur un site simple, un éditeur peut mettre du HTML et du JavaScript bruts dans le contenu ; donnez-le à des personnes à qui vous confieriez la page d'accueil.

Comment voir la dernière connexion d'un administrateur ?

WordPress ne l'enregistre pas. Il vous faut une extension qui journalise les connexions, les journaux de votre hébergeur, ou l'extension Relvato avec "Activity log and error capture" activé : elle enregistre les connexions de chaque administrateur et, après 90 jours de suivi, nomme ceux qui n'en ont aucune.

Faut-il supprimer un administrateur inutilisé ou le rétrograder ?

Supprimez-le si personne n'en aura plus besoin, et attribuez son contenu à un autre utilisateur quand WordPress le demande. Rétrogradez-le en Abonné (Subscriber), ou au rôle dont la personne a vraiment besoin, s'il peut encore servir. Dans les deux cas, révoquez d'abord ses mots de passe d'application.

La mise à jour vers WordPress 7.1.1 rend-elle tout cela inutile ?

Elle corrige Click2Shell. Elle ne change pas le schéma : la prochaine faille qui passe par un administrateur connecté passera par chaque compte administrateur que vous avez. C'est une liste courte qui limite le risque.

Sources

À lire aussi
Guide

Sachez qui peut installer du code sur votre site.

L'Admin roster de Relvato surveille vos administrateurs via l'extension WordPress (trop nombreux, inutilisés, cachés ou fraîchement promus) et vous prévient quand la liste change.