Environ 1 450 instances de pfSense exposées en ligne sont vulnérables aux failles d’injection de commandes et de scripts intersites qui, si elles sont enchaînées, pourraient permettre aux attaquants d’exécuter du code à distance sur l’appliance.
pfSense est un logiciel de pare-feu et de routeur open source populaire qui permet une personnalisation étendue et une flexibilité de déploiement. Il s'agit d'une solution rentable qui répond à des besoins spécifiques, offrant un large éventail de fonctionnalités que l'on retrouve généralement dans les produits commerciaux coûteux.
À la mi-novembre, Les chercheurs de SonarSource découvert trois failles impactant pfSense 2.7.0 et versions antérieures et pfSense Plus 23.05.01 et versions antérieures. Les défauts sont suivis comme CVE-2023-42325 (XSS), CVE-2023-42327 (XSS), et CVE-2023-42326 (injection de commande).
Bien que les failles XSS reflétées nécessitent une action de l'utilisateur du côté de la victime pour fonctionner, la faille d'injection de commandes est plus grave (score CVSS : 8,8).
Cette vulnérabilité dans l'interface utilisateur Web de pfSense provient du fait que des commandes shell sont construites à partir de données fournies par l'utilisateur pour configurer les interfaces réseau sans appliquer une validation appropriée.
La faille affecte le paramètre d'interface réseau « gifif », dont les valeurs sûres ne sont pas vérifiées, permettant à des acteurs malveillants d'injecter des commandes supplémentaires dans le paramètre, conduisant à leur exécution avec les privilèges root.
Pour que cet exploit fonctionne, l’acteur malveillant doit accéder à un compte avec des autorisations de modification d’interface, d’où la nécessité d’enchaîner les failles pour une attaque puissante.
CVE-2023-42325 ou CVE-2023-42327 peuvent être utilisés pour exécuter du JavaScript malveillant dans le navigateur d'un utilisateur authentifié afin de prendre le contrôle de sa session pfSense.
Netgate, le fournisseur de pfSense, a reçu des rapports sur les trois failles le 3 juillet 2023 et a publié des mises à jour de sécurité qui les ont corrigées le 6 novembre (pfSense Plus 23.09) et le 16 novembre (pfSense CE 2.7.1).
Cependant, un mois après la mise à disposition des correctifs par Netgate, près de 1 500 instances de pfSense restent vulnérables aux attaques.
Les résultats de l'analyse Shodan partagés par les chercheurs de SonarSource avec BleepingComputer montrent que sur les 1 569 instances pfSense exposées sur Internet, 42 utilisent pfSense Plus 23.09 et 77 autres exécutent pfSense Community Edition 2.7.1.
Cela laisse 1 450 instances (92,4 %), directement détectables via Shodan, vulnérables aux failles mentionnées.
Même si cette exposition ne rend pas ces instances susceptibles d’être compromises immédiatement, dans la mesure où les acteurs malveillants devraient d’abord cibler les victimes présentant des failles XSS, l’exposition crée une surface d’attaque importante.
Bien que le nombre de points de terminaison vulnérables ne représente qu'une petite fraction des déploiements de pfSense dans le monde, le fait que les grandes entreprises utilisent souvent le logiciel rend ce statut particulièrement dangereux.
Un attaquant ayant accès à pfSense et fonctionnant avec des privilèges de haut niveau peut facilement provoquer des violations de données, accéder à des ressources internes sensibles et se déplacer latéralement au sein du réseau compromis.