Chaîne RCE non authentifiée dans Control Web Panel (CVE-2026-73696)
Control Web Panel avant la version 1.12 laisse des visiteurs non authentifiés exécuter du code du panneau utilisateur ; trois avis VulnCheck couvrent la chaîne.
TL;DR
- Control Web Panel avant la version 1.12 du panneau utilisateur permet à un attaquant non authentifié de passer outre la redirection de connexion et d’utiliser les modules du panneau utilisateur. Deux failles supplémentaires transforment cet accès en écritures de fichiers et en exécution de commandes système. VulnCheck a publié les trois avis le 2 novembre 2026.
- CVE-2026-73696, le contournement par exécution après redirection, obtient 9,3 Critical, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N. CVE-2026-73695 et CVE-2026-73697 obtiennent chacun 8,7 High.
- Aucun exploit, aucune exploitation ni aucune victime n’est signalé, et aucun des trois CVE ne figure au catalogue KEV de la CISA au 2 novembre 2026. Le chercheur, Valentin Lobstein, signe sous le pseudonyme Chocapikk.
- Mettez à jour vers la dernière version de CWP maintenant. Les correctifs du panneau utilisateur sont arrivés dans la version 1.12 du 8 septembre 2026, et le panneau est aujourd’hui en version 1.30.1. Restreignez le port du panneau utilisateur aux réseaux de confiance si vous ne pouvez pas mettre à jour aujourd’hui.
Suis-je concerné ?
Toutes ces conditions doivent être réunies :
- Vous exécutez Control Web Panel, le panneau d’hébergement Linux gratuit. Le fournisseur indique que plus de 35 000 serveurs exécutent CWP.
- Le panneau utilisateur est atteignable par l’attaquant. Il écoute sur son propre port, 2082 par défaut, séparé du panneau d’administration sur 2030.
- Pour CVE-2026-73696, la version du panneau utilisateur est inférieure à 1.12. Pour CVE-2026-73695 et CVE-2026-73697, elle est inférieure à 1.16.
Les trois failles s’enchaînent mais tiennent aussi seules. Le contournement de redirection (CVE-2026-73696) est l’entrée non authentifiée. La traversée de chemin (CVE-2026-73695) et les failles de phpini_editor (CVE-2026-73697) exigent une session du panneau utilisateur, que le contournement fournit sans identifiants. Les correctifs du panneau utilisateur sont arrivés deux mois avant la divulgation.
| Branche du panneau utilisateur | Versions touchées | Version corrigée |
|---|---|---|
| Toutes les versions du panneau utilisateur avant 1.12 | Chaque version inférieure à 1.12 (contournement de redirection, CVE-2026-73696) | 1.12, publiée le 2026-09-08 |
| Panneau utilisateur 1.12 à avant 1.16 | 1.12 à 1.15 (traversée de chemin et phpini_editor, CVE-2026-73695 et CVE-2026-73697) | 1.16 |
Vérifiez la version dans l’interface du panneau. Le journal des modifications liste les versions du panneau utilisateur séparément de celles du panneau d’administration : une mise à jour récente de l’administration ne signifie donc pas que le panneau utilisateur a bougé.
Comment corriger ?
Mettez à jour CWP vers la version actuelle, 1.30.1, qui transporte tous les correctifs du panneau utilisateur issus de 1.12 et 1.16.
- Sauvegardez le serveur, y compris
/usr/local/cwpsrvet la base du panneau. CWP n’a pas de désinstalleur : une mise à jour ratée est difficile à annuler. - Dans le panneau d’administration, lancez la mise à jour de CWP vers la dernière version. Les équipements plusieurs versions en retard peuvent nécessiter plusieurs étapes.
- Vérifiez ensuite la version du panneau utilisateur dans le journal des modifications du fournisseur, et pas seulement celle du panneau d’administration.
La restriction du port du panneau utilisateur est la mesure d’attente pendant la mise à jour. Le panneau écoute sur 2082 par défaut ; limitez-le par pare-feu aux réseaux de confiance. Cela ne corrige aucune des trois failles, et les clients d’hébergement qui en ont besoin doivent toujours y accéder : c’est donc uniquement une réduction d’exposition.
Quelle est la cause première ?
Control Web Panel est à code fermé : cette section travaille à partir des trois descriptions d’avis de VulnCheck, qui nomment chacune le fichier, l’action et la vérification manquante.
CVE-2026-73696 est une faille d’exécution après redirection, CWE-698, dans le flux d’authentification du panneau utilisateur, CWPUserIndex. Le contrôle de connexion redirige les utilisateurs non authentifiés par un appel header('Location: ...') mais n’appelle jamais exit() ensuite. PHP continue donc d’exécuter la page. En PHP, un appel header() envoie seulement la redirection ; il n’arrête pas le script. Une requête non authentifiée poursuit ainsi au-delà de la redirection vers des fonctions du panneau utilisateur qui exigeraient une session.
CVE-2026-73695 est une traversée de chemin, CWE-98, dans services/users/index.php. Le paramètre de nom de module est concaténé directement dans un chemin d’inclusion sans assainissement. Les séquences de traversée de répertoire atteignent donc include et chargent des fichiers PHP locaux arbitraires. Tout fichier local contenant du PHP devient exécutable dans le contexte du panneau utilisateur.
CVE-2026-73697 est une paire de failles dans le module phpini_editor du panneau utilisateur, CWE-22 et CWE-78. L’action acc=update écrit du contenu contrôlé par l’attaquant vers des chemins arbitraires via file_put_contents sans confinement de chemin. L’action acc=addlabelphpiniadv passe une entrée non assainie à shell_exec. Ensemble, elles offrent une écriture de fichier arbitraire et une exécution directe de commandes système dans le contexte du panneau utilisateur.
Comment la faille est-elle exploitée ?
Aucune preuve de concept publique n’existe pour l’un des trois CVE : ces étapes reformulent la chaîne décrite par les avis de VulnCheck.
- L’attaquant envoie une requête non authentifiée vers une page du panneau utilisateur. Au lieu de s’arrêter à la redirection de connexion, l’exécution PHP continue, et la requête atteint des fonctions du panneau utilisateur (CVE-2026-73696).
- Avec les fonctions du panneau atteignables, l’attaquant charge dans
services/users/index.phpun module dont le nom porte des séquences de traversée de répertoire, incluant un fichier PHP local arbitraire (CVE-2026-73695). - Sinon, ou ensuite, l’attaquant utilise le module
phpini_editor. L’actionacc=updateécrit un fichier choisi vers un chemin choisi, etacc=addlabelphpiniadvalimenteshell_execen entrée non assainie, exécutant des commandes système dans le contexte du panneau utilisateur (CVE-2026-73697).
VulnCheck décrit l’impact de la traversée comme l’exécution de code PHP arbitraire, et celui des failles de phpini_editor comme une exécution de code dans le contexte du panneau utilisateur. Le compte utilisé est le processus du panneau utilisateur, pas root.
Comment se déroule l’attaque ?
En une phrase : une requête non authentifiée saute la redirection de connexion, un nom de module avec des séquences de traversée atteint le chemin d’inclusion, puis phpini_editor écrit des fichiers ou exécute des commandes shell.
une page du panneau utilisateur"] --> B["Redirection de connexion envoyée,
sans exit() ensuite"] B --> C["PHP continue d’exécuter
la page"] C --> D["Nom de module avec traversée
atteint le chemin d’inclusion"] D --> E["phpini_editor écrit des fichiers
et exécute shell_exec"] E --> F["Exécution de code dans le
contexte du panneau utilisateur"]
Que peut faire un attaquant ?
L’impact documenté est l’exécution de code PHP arbitraire et de commandes système dans le contexte du panneau utilisateur, sous ces conditions :
- Le port du panneau utilisateur est atteignable par l’attaquant via le réseau. Les trois vecteurs CVSS enregistrent un vecteur d’attaque réseau.
- Le contournement de redirection n’exige ni privilèges ni interaction utilisateur. Les deux failles suivantes listent des privilèges faibles dans leurs vecteurs, et le contournement est ce qui satisfait cette exigence sans identifiants.
- La traversée ne charge que des fichiers locaux : l’attaquant a besoin d’un fichier PHP sur le serveur à inclure, ou d’un emplacement d’upload inscriptible pour en déposer un d’abord.
Les avis de VulnCheck ne revendiquent ni exécution en root, ni accès au panneau d’administration, ni impact inter-serveurs. Le panneau utilisateur exécute les fonctions des clients d’hébergement : le code exécuté hérite de la portée de ce processus.
Pourquoi le correctif fonctionne-t-il ?
Le fournisseur distribue des builds à code fermé : le diff du correctif n’est pas public. Les entrées du journal des modifications du panneau utilisateur enregistrent les correctifs qui correspondent aux trois avis. La version 1.12 liste des entrées « Improved security for login and session » et « Improved security on file », et les entrées ultérieures poursuivent le durcissement.
La version 1.12 ferme le contournement de redirection pour CVE-2026-73696, et la version 1.16 transporte les correctifs de CVE-2026-73695 et CVE-2026-73697. Toute version à partir de 1.16 contient les trois correctifs, et la version actuelle, 1.30.1, aussi. L’avis ne précise pas si chaque chemin d’inclusion et chaque action de module au-delà de ces trois failles ont reçu le même durcissement : gardez le panneau utilisateur hors d’internet, même à jour.
Comment vérifier si j’ai été compromis ?
Aucun indicateur de compromission n’est publié pour ces failles. Utilisez des vérifications centrées sur le panneau.
- Examinez les journaux d’accès du panneau utilisateur pour des requêtes vers
services/users/index.phpou des chemins du modulephpini_editorarrivées sans connexion préalable pour cette session. - Inspectez le système de fichiers du panneau pour des fichiers PHP récemment modifiés dans les répertoires servis par le panneau utilisateur, en particulier tout fichier dont le nom contient des séquences de traversée.
- Vérifiez l’emplacement de stockage de phpini_editor pour des fichiers de configuration que vous n’avez pas créés, et passez en revue l’historique de commandes shell et le cron pour des entrées référençant des chemins du panneau.
Une tentative échouée peut ne laisser aucune trace, car une requête redirigée qui n’est pas allée plus loin n’écrit rien. Si votre panneau utilisateur était exposé sur internet, considérez qu’une revue est due, quel que soit le contenu des journaux.
Chronologie
- 2026-09-08 : la version 1.12 du panneau utilisateur de CWP est publiée, fermant le contournement de redirection.
- 2026-10-31 : la version 1.30 de CWP est publiée, avec tous les correctifs du panneau utilisateur à ce jour.
- 2026-11-02 : VulnCheck publie trois avis créditant Valentin Lobstein (Chocapikk), et les trois enregistrements CVE sont publiés.
FAQ
Le panneau d’administration est-il aussi touché ?
Les trois avis décrivent le panneau utilisateur, son flux de connexion et ses modules. Le panneau d’administration sur le port 2030 est une interface séparée. Les avis de VulnCheck ne revendiquent pas que les failles l’atteignent, et l’accès administrateur a son propre chemin d’authentification.
Le contournement de redirection donne-t-il seul l’exécution de code ?
Non. CVE-2026-73696 permet à une requête non authentifiée d’atteindre des fonctions du panneau utilisateur. L’exécution de code vient du chemin d’inclusion de CVE-2026-73695 ou des commandes d’écriture et shell de CVE-2026-73697, que le contournement rend atteignables sans identifiants.
Pourquoi les versions corrigées diffèrent entre les trois CVE ?
Le contournement de redirection a été corrigé dans la version 1.12 du panneau utilisateur le 8 septembre 2026, tandis que les correctifs de la traversée et de phpini_editor sont arrivés dans la version 1.16. Un serveur en 1.12 à 1.15 porte encore deux des trois failles.
Quelle est l’ampleur du déploiement ?
Le fournisseur indique plus de 35 000 serveurs sous Control Web Panel, avec une communauté de 94 000 membres. Le produit cible les serveurs d’hébergement AlmaLinux, Rocky Linux, RHEL et CentOS.
La faille était-elle auto-propageante ?
Aucune source ne revendique une auto-propagation. La chaîne exige le port du panneau utilisateur atteignable, et rien dans les avis ne décrit un panneau qui se propagerait seul vers d’autres hôtes.
Inventoriez vos panneaux d’hébergement avec Ostorlab
La découverte de surface d’attaque d’Ostorlab inventorie les hôtes exposés d’internet de vos plages, pour trouver chaque serveur exposant un port de panneau d’hébergement tel que 2082 ou 2030 et vérifier sa version par rapport à l’avis. Lancez un scan avec Ostorlab pour savoir quels panneaux mettre à jour en premier.
Références
- Avis VulnCheck pour CVE-2026-73696, « Control Web Panel (CWP) < 1.12 Execution After Redirect in CWPUserIndex », publié le 2 novembre 2026, CVSS v4.0 9.3 Critical, CWE-698 : https://www.vulncheck.com/advisories/control-web-panel-cwp-execution-after-redirect-in-cwpuserindex (consulté le 2 novembre 2026)
- Avis VulnCheck pour CVE-2026-73695, « Control Web Panel (CWP) < 1.16 Path Traversal via services/users/index.php », publié le 2 novembre 2026, CVSS v4.0 8.7 High, CWE-98 : https://www.vulncheck.com/advisories/control-web-panel-cwp-path-traversal-via-services-users-index-php (consulté le 2 novembre 2026)
- Avis VulnCheck pour CVE-2026-73697, « Control Web Panel (CWP) < 1.16 File Write and Command Injection via phpini_editor », publié le 2 novembre 2026, CVSS v4.0 8.7 High, CWE-22 et CWE-78 : https://www.vulncheck.com/advisories/control-web-panel-cwp-file-write-and-command-injection-via-phpini-editor (consulté le 2 novembre 2026)
- Enregistrement CVE-2026-73696, entrée CNA de VulnCheck, publiée le 2 novembre 2026 : https://www.cve.org/CVERecord?id=CVE-2026-73696 (consulté le 2 novembre 2026)
- Enregistrement CVE-2026-73695, entrée CNA de VulnCheck, publiée le 2 novembre 2026 : https://www.cve.org/CVERecord?id=CVE-2026-73695 (consulté le 2 novembre 2026)
- Enregistrement CVE-2026-73697, entrée CNA de VulnCheck, publiée le 2 novembre 2026 : https://www.cve.org/CVERecord?id=CVE-2026-73697 (consulté le 2 novembre 2026)
- Journal des modifications de Control Web Panel, enregistrant la version 1.12 du panneau utilisateur publiée le 8 septembre 2026 et l’historique jusqu’à la version 1.30 du 31 octobre 2026 : https://control-webpanel.com/changelog (consulté le 2 novembre 2026)
- Page d’accueil de Control Web Panel, indiquant plus de 35 000 serveurs sous CWP et 94 000 membres de la communauté : https://control-webpanel.com/ (consulté le 2 novembre 2026)
- Page de démonstration de Control Web Panel, documentant le panneau utilisateur sur le port 2082 et le panneau d’administration sur le port 2030 : https://control-webpanel.com/demo (consulté le 2 novembre 2026)
- Flux JSON du catalogue KEV de la CISA, recherché pour les trois CVE sans correspondance au 2 novembre 2026 : https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json (consulté le 2 novembre 2026)