Vulnérabilités
pfSense vulnérable à une exécution de code à distance : ce que doivent vérifier les administrateurs
Le 15 septembre 2026, Netgate a publié le bulletin pfSense-SA-26_22.webgui. Le lendemain, le CERT-FR a relayé l'information dans l'avis CERTFR-2026-AVI-1181, avec un risque qualifié d'« exécution de code arbitraire à distance ». Ni l'éditeur ni le CERT-FR n'ont publié d'identifiant CVE ou de score CVSS pour cette vulnérabilité.
Le défaut se situe dans xmlrpc.php, l'interface XML-RPC du WebGUI, et ne concerne que les installations dont l'authentification est déportée sur un annuaire LDAP ou un serveur RADIUS. Une erreur de logique dans la vérification des privilèges permet à un compte distant valide, sans compte local correspondant, d'appeler des méthodes XML-RPC réservées aux administrateurs.
L'intérêt de cette vulnérabilité n'est pas son score, absent, mais la nature de la machine concernée. Un pare-feu pfSense termine des tunnels VPN, porte une autorité de certification, applique la segmentation réseau et voit passer une grande partie du trafic. Ce qu'un attaquant obtient en y exécutant du code n'a pas d'équivalent sur un serveur applicatif.

Faits, analyse et incertitudes
Faits confirmés
- Netgate a annoncé le 15 septembre 2026 le bulletin pfSense-SA-26_22.webgui, catégorie « pfSense Base System / webgui », corrigé le 26 août 2026.
- Le bulletin décrit une exécution de commandes arbitraires authentifiée via xmlrpc.php, affectant les systèmes qui utilisent une authentification LDAP ou RADIUS distante.
- L'éditeur explique que lorsque xmlrpc.php vérifie les privilèges, il récupère les informations du compte via getUserEntry($username), et qu'une erreur de logique permet à un utilisateur disposant d'identifiants LDAP valides mais sans compte local correspondant de contourner cette vérification et d'appeler des méthodes XML-RPC, dont exec_php.
- Netgate indique deux contournements : s'assurer que tous les utilisateurs LDAP disposent d'un compte local correspondant, ou désactiver l'authentification distante.
- Le CERT-FR a publié le 16 septembre 2026 l'avis CERTFR-2026-AVI-1181, risque « exécution de code arbitraire à distance », renvoyant au bulletin de l'éditeur pour l'obtention des correctifs.
- Aucun identifiant CVE ni score CVSS n'est associé à cette vulnérabilité dans l'avis du CERT-FR ni dans le bulletin de Netgate.
Notre analyse
- La qualification « à distance » du CERT-FR et la qualification « authentifiée » de Netgate ne se contredisent pas : l'attaque part du réseau, mais suppose un identifiant valide sur l'annuaire. C'est la combinaison des deux qui détermine le risque réel d'une installation donnée.
- La condition d'exploitation la plus inconfortable est précisément celle qui paraît anodine : l'absence de compte local. Dans beaucoup d'installations, l'authentification LDAP a justement été mise en place pour éviter d'avoir à créer des comptes locaux.
- La méthode exec_php citée par l'éditeur est une primitive d'exécution : à partir de là, la question n'est plus technique mais organisationnelle, puisqu'elle porte sur tout ce que le pare-feu détient.
Ce qui reste incertain
- Aucune source consultée ne fait état d'une exploitation observée. L'absence de mention n'est pas une preuve d'absence d'exploitation.
- Les périmètres de versions publiés par le CERT-FR (« antérieures à ») et par Netgate (« ≤ ») ne se recouvrent pas exactement pour 2.9.0 et 26.07. En pratique, seule la présence du correctif sur l'appliance fait foi.
- L'éditeur ne précise pas si le contournement par création de comptes locaux couvre tous les cas de figure d'intégration LDAP ou RADIUS.
L'essentiel de l'avis
| Élément | Contenu publié |
|---|---|
| Bulletin éditeur | pfSense-SA-26_22.webgui, annoncé le 15 septembre 2026 |
| Avis CERT-FR | CERTFR-2026-AVI-1181, publié le 16 septembre 2026 |
| Composant | xmlrpc.php, interface XML-RPC du WebGUI |
| Risque annoncé | Exécution de code arbitraire à distance |
| Condition | Authentification déportée sur LDAP ou RADIUS, compte distant valide sans compte local correspondant |
| Versions retenues par le CERT-FR | pfSense CE antérieur à 2.9.0 ; pfSense Plus antérieur à 26.07 |
| Versions retenues par Netgate | pfSense CE ≤ 2.9.0 ; pfSense Plus ≤ 26.07, correctifs disponibles pour 26.10, 26.03.1, 2.9.0 et 2.8.1 |
| CVE | Aucune publiée |
| CVSS | Aucun publié |
| Contournements | Créer un compte local pour chaque utilisateur de l'annuaire, ou désactiver l'authentification distante |
Tableau construit uniquement à partir du bulletin Netgate et de l'avis CERT-FR. Aucune donnée n'y est extrapolée.
Ce qui se passe réellement dans xmlrpc.php
XML-RPC est un protocole d'appel de procédure à distance : un client envoie une requête HTTP contenant le nom d'une méthode et ses paramètres, le serveur exécute cette méthode et renvoie un résultat. Sur pfSense, cette interface sert notamment à la synchronisation de configuration entre deux appliances en haute disponibilité. Elle est donc fonctionnellement légitime, et exposée sur le WebGUI.
Avant d'exécuter une méthode, le point d'entrée doit vérifier que l'appelant a le droit de la demander. Netgate décrit précisément cette étape : pour établir les privilèges, xmlrpc.php récupère les informations du compte via getUserEntry($username). Ce mécanisme repose sur l'existence d'une entrée décrivant l'utilisateur.
Lorsque l'authentification est déportée sur un annuaire, un utilisateur peut présenter des identifiants parfaitement valides sans qu'aucune entrée locale ne le décrive. L'éditeur indique qu'une erreur de logique conduit alors à contourner la vérification de privilèges plutôt qu'à la refuser. L'appelant obtient l'accès aux méthodes XML-RPC, parmi lesquelles exec_php, c'est-à-dire l'exécution de code PHP et de commandes système.
Pourquoi la compromission d'un pare-feu est un cas particulier
Un pare-feu périmétrique n'est pas seulement un filtre. Dans une infrastructure de taille moyenne, une appliance pfSense cumule souvent plusieurs rôles qui, pris ensemble, en font le point le plus sensible du réseau.
- Terminaison VPN : elle détient les clés, les certificats et parfois les secrets partagés qui permettent aux accès distants de se raccorder
- Autorité de certification interne : pfSense peut générer et signer les certificats des clients VPN et des services internes
- Routage et NAT : elle décide de ce qui traverse, et peut donc décider de ce qui traverse autrement
- Segmentation : les règles de filtrage entre VLAN sont l'essentiel de la séparation logique entre environnements
- Résolution DNS et parfois DHCP : deux leviers de redirection silencieuse du trafic interne
- Journalisation : elle produit les traces qui permettraient de constater l'intrusion
La conséquence est simple à formuler. Un attaquant qui exécute du code sur un serveur applicatif obtient ce que ce serveur contient. Un attaquant qui exécute du code sur le pare-feu obtient la capacité de modifier les conditions d'accès de tout le reste, et de le faire sans déclencher les contrôles qui reposent justement sur cet équipement.
La segmentation devient déclarative
Les règles de filtrage restent affichées dans l'interface, mais plus rien ne garantit qu'elles correspondent à ce qui est appliqué. Une segmentation n'a de valeur que si l'équipement qui l'applique est digne de confiance.
Les accès distants deviennent réutilisables
Les éléments cryptographiques du VPN sont sur la machine. Une fois qu'ils sont sortis, le renouvellement des mots de passe des utilisateurs ne change rien : ce n'est pas par là que l'accès se rejouera.
Les journaux deviennent des déclarations
Si les traces sont produites et conservées localement, elles sont modifiables par celui qui contrôle la machine. Une journalisation centralisée hors de l'équipement n'est pas un raffinement, c'est ce qui rend l'investigation possible.
Mesures immédiates
- Établir la version réellement installée
Sur chaque appliance, et non d'après l'inventaire. Les infrastructures comportent souvent une appliance oubliée : site secondaire, maquette laissée en production, secours de haute disponibilité non mis à jour.
- Déterminer si l'authentification est déportée
C'est la condition d'exploitation. Une installation qui n'utilise que des comptes locaux n'est pas dans le périmètre décrit par l'éditeur ; une installation raccordée à un annuaire l'est, et devient prioritaire.
- Appliquer le correctif de l'éditeur
Netgate indique des correctifs pour les versions 26.10, 26.03.1, 2.9.0 et 2.8.1. Le bulletin de l'éditeur est la seule référence à jour sur la disponibilité par branche.
- Si le correctif ne peut pas être appliqué immédiatement, appliquer un contournement
Les deux contournements publiés par Netgate sont de créer un compte local correspondant à chaque utilisateur de l'annuaire, ou de désactiver l'authentification distante. Ce sont des mesures d'attente, pas des solutions.
- Vérifier l'exposition du WebGUI
Une interface d'administration accessible depuis Internet transforme une condition d'exploitation interne en surface externe. C'est vrai pour cette vulnérabilité comme pour toutes celles qui suivront.
Vérifications après application du correctif
- Comptes d'administration : liste complète, comptes inattendus, comptes désactivés réactivés
- Clés SSH autorisées sur l'appliance et accès SSH activé ou non
- Règles de filtrage : comparaison avec la dernière sauvegarde de configuration connue comme saine
- Redirections de ports et règles NAT ajoutées ou modifiées
- Certificats et autorité de certification : certificats émis récemment, certificats inconnus
- Configurations VPN : nouveaux profils, nouveaux comptes, modifications de politiques
- Paramètres DNS et DHCP : redirecteurs, baux statiques, serveurs annoncés
- Paquets installés sur l'appliance, y compris ceux qui paraissent légitimes
- Tâches planifiées et scripts de démarrage
- Journaux d'authentification, en particulier les authentifications réussies depuis des adresses inhabituelles
Mesures de fond
Cette vulnérabilité sera corrigée, et une autre sera publiée. La question utile n'est donc pas seulement de savoir comment traiter celle-ci, mais de savoir combien coûterait la prochaine. Trois décisions d'architecture changent l'ordre de grandeur de ce coût.
Retirer les interfaces d'administration de la surface exposée
Le WebGUI d'un pare-feu n'a pas à être joignable depuis Internet. L'ANSSI recommande de longue date de séparer les flux d'administration des flux de production et de passer par un réseau ou un canal dédié. Appliquée à une appliance de sécurité, cette recommandation a un effet immédiat : la plupart des vulnérabilités du WebGUI deviennent non exploitables depuis l'extérieur, quel que soit leur score.
Traiter les comptes d'administration comme des actifs distincts
L'incident décrit ici naît d'une divergence entre l'identité telle que la connaît l'annuaire et l'identité telle que la connaît l'appliance. Lorsque l'authentification est déportée, il reste nécessaire de savoir précisément qui dispose de droits d'administration sur l'équipement, à partir de quels groupes, et avec quelle procédure de retrait lors d'un départ.
Sortir les journaux de la machine qu'ils décrivent
Une journalisation centralisée en temps réel vers un collecteur distinct est ce qui permet, après coup, de répondre à la seule question qui compte : est-ce que quelqu'un s'est authentifié sur cette interface, et depuis où. Sans elle, l'investigation se résume à constater que l'appliance ne montre rien d'anormal, ce qui n'est pas une réponse.
Les métiers qui traitent concrètement ce type de sujet :
- Sécurité des infrastructures / Blue TeamAdministrateur d’infrastructures de sécuritéIl construit et exploite les fondations techniques sur lesquelles repose la sécurité de l’entreprise.
- Ingénierie et intégration de la sécuritéIngénieur cybersécuritéIl conçoit, intègre et fait évoluer les solutions de sécurité d’une entreprise — le métier charnière entre l’exploitation et l’architecture.
- Conception et architecture de la sécuritéArchitecte cybersécuritéIl conçoit les principes et les architectures qui permettent de construire un système d’information sécurisé, avant même que les projets ne démarrent.
- Détection et réponse à incident / Blue TeamAnalyste SOCIl surveille les systèmes d’information pour détecter les comportements suspects et les cyberattaques.
Pour manipuler ces équipements sans toucher à une production :
Questions fréquentes
Quelles versions de pfSense sont concernées ?
Le CERT-FR retient pfSense CE antérieur à 2.9.0 et pfSense Plus antérieur à 26.07. Netgate indique de son côté pfSense CE ≤ 2.9.0 et pfSense Plus ≤ 26.07, avec des correctifs disponibles pour les versions 26.10, 26.03.1, 2.9.0 et 2.8.1. En cas de doute sur une version limite, le bulletin de l'éditeur fait référence.
Mon installation est-elle exploitable si je n'utilise pas LDAP ?
Le bulletin de Netgate décrit un défaut qui concerne les systèmes utilisant une authentification LDAP ou RADIUS distante. Une installation n'utilisant que des comptes locaux ne remplit pas cette condition. Cela ne dispense pas d'appliquer le correctif.
Quel est le score CVSS de cette vulnérabilité ?
Aucun. Ni le bulletin Netgate ni l'avis CERT-FR ne publient de score CVSS, et aucun identifiant CVE n'est associé à cette publication. L'appréciation du risque doit se faire sur les conditions d'exploitation décrites par l'éditeur.
Existe-t-il un contournement si je ne peux pas mettre à jour tout de suite ?
Netgate en publie deux : s'assurer que tous les utilisateurs de l'annuaire disposent d'un compte local correspondant sur l'appliance, ou désactiver l'authentification distante. Les deux modifient le fonctionnement courant et ne sont pertinents que le temps de préparer la mise à jour.
Le correctif suffit-il si mon pare-feu a pu être atteint ?
Non. Sur un équipement qui détient des certificats, des clés VPN et la configuration du filtrage, la mise à jour referme la voie d'entrée mais ne dit rien de ce qui a pu être fait ou emporté avant. Il faut alors revoir les comptes, les règles, les certificats et les secrets, et décider en connaissance de cause si l'appliance reste digne de confiance.
Sources
- CERT-FRCERTFR-2026-AVI-1181 — Vulnérabilité dans Netgate pfSense : « exécution de code arbitraire à distance », pfSense CE versions antérieures à 2.9.0 et pfSense Plus versions antérieures à 26.07Publié le 16 septembre 2026. L'avis ne mentionne ni identifiant CVE ni score CVSS.
- NetgatepfSense-SA-26_22.webgui — Authenticated arbitrary command execution via xmlrpc.php : erreur de logique dans la vérification de privilèges lorsque l'authentification est déportée sur un annuaire LDAP ou un serveur RADIUSBulletin annoncé le 15 septembre 2026, correction datée du 26 août 2026. Versions affectées annoncées par l'éditeur : pfSense Plus ≤ 26.07 et pfSense CE ≤ 2.9.0.
- NetgateSecurity Advisories — index des bulletins de sécurité Netgate pour pfSense Plus et pfSense CE
- ANSSIANSSI-PA-022 — Recommandations relatives à l'administration sécurisée des systèmes d'information (version 3.0)Publié le 11 mai 2021. Référence utilisée pour la séparation des flux d'administration et la protection des comptes à privilèges.
- ANSSIGuide d'hygiène informatique — mesures d'hygiène à mettre en œuvre sur un système d'information
- CERT-FRCERT-FR — centre gouvernemental de veille, d'alerte et de réponse aux attaques informatiques
