OPNsense: exécution de commandes en root via le plugin ACME
CVE-2026-123025: le module de validation DNS Google Cloud du plugin os-acme-client d'OPNsense, versions 4.17 et avant, permet d'exécuter des commandes en root.
Qui est touché
- Plugin os-acme-client versions 4.17 et antérieures, avec validation DNS Google Cloud configurée
- OPNsense dont un compte, même non administrateur, détient le droit d'émettre ou de renouveler un certificat
Comment corriger
Mettre à jour le plugin os-acme-client dès la publication de la version corrigée par l'éditeur; en attendant, basculer la validation des certificats sur un autre mode que DNS Google Cloud; restreindre au strict minimum les comptes habilités à émettre ou renouveler des certificats sur l'interface d'administration et l'API; tourner la clé de service Google Cloud et tout jeton API si un compte douteux a pu modifier le champ de compte ou de projet.
Ce qui s'est passé
L'avis GHSA-g9hg-38vq-jvh9, publié le 5 novembre 2026, décrit une injection de commandes OS dans le module de validation DNS Google Cloud du plugin os-acme-client d'OPNsense, versions 4.17 et antérieures (CVE-2026-123025, notée 9,4 en CVSS 4.0). La méthode concernée décode le champ de clé et recopie les champs « compte » et « projet » Google Cloud directement dans une commande shell transmise à proc_open, sans validation ni échappement. Un utilisateur authentifié doté du droit d'émettre ou de renouveler un certificat via l'interface d'administration ou l'API obtient ainsi une exécution de code en root.
Pourquoi c'est important pour un hôtel
OPNsense est le pare-feu de prédilection des petits établissements: il protège le réseau, isole le Wi-Fi invités et signe les certificats des portails et des bornes avec Let's Encrypt. Or ce plugin est précisément l'outil du renouvellement automatique. La faille élargit la surface d'un rôle apparemment subalterne: un compte de maintenance, un accès API prêté à un prestataire, suffisent à faire tomber le pare-feu de l'intérieur, avec les droits root.
Qui est concerné
Les installations OPNsense dont le plugin os-acme-client est en version 4.17 ou antérieure et dont un certificat utilise la validation DNS via Google Cloud. Les déploiements sans ce module, ou sans compte tiers habilité aux certificats, sont moins exposés: l'attaque suppose une authentification préalable.
Comment corriger
- Mettre à jour le plugin os-acme-client via le gestionnaire de plugins dès que la version corrigée est publiée; vérifier la page des avis de sécurité du dépôt opnsense/core.
- En attendant: changer de mode de validation pour les certificats concernés (autre méthode DNS ou mode HTTP) afin de ne plus transiter par le module Google Cloud.
- Inventorier les comptes habilités à émettre ou renouveler des certificats sur l'interface et l'API; supprimer ceux devenus inutiles, y compris les clés API de prestataires.
- Tourner la clé de service Google Cloud associée au profil ACME, et relire le champ « compte » et le champ « projet » enregistrés dans le plugin.
- En cas de modification inexpliquée de ces champs: considérer le pare-feu compromis, réinstallation propre et rotation de tous les secrets qui y transitaient.
Contexte
L'avis a été publié le 5 novembre au matin (heure UTC), au terme d'une année où le durcissement d'OPNsense a déjà donné lieu à une série d'avis côté éditeur. Le mécanisme, des champs d'un modèle recopiés dans une commande shell, est un grand classique des consoles réseau: la force du rempart dépend alors de la liste des comptes autorisés à toucher aux certificats.