
Exploit pour CVE-2023-27100 contournant la protection anti-force brute de pfSense via des en-têtes X-Forwarded-For forgés et des jetons anti-CSRF afin d'échapper au blocage IP de sshguard.
Le système d'authentification tente d'être informatif et d'afficher des informations supplémentaires avec les adresses IP afin de déterminer précisément l'origine de la connexion d'un utilisateur via l'interface graphique. Cela inclut la source d'authentification (par exemple, base de données locale, LDAP ou RADIUS, nom du serveur d'authentification), ainsi que le contenu des en-têtes de proxy X-Forwarded-For et Client-IP pour préciser davantage l'emplacement exact de l'utilisateur.
Ces informations supplémentaires sont affichées après l'adresse IP de l'utilisateur distant à divers endroits, y compris dans les messages de journal d'authentification. En cas d'échecs de connexion à l'interface graphique, les entrées de journal incluaient le contenu des en-têtes de proxy (X-Forwarded-For ou Client-IP) soumis par le client.
Ces informations supplémentaires ont perturbé l'analyseur de journaux d'authentification sshguard, ce qui l'a empêché de reconnaître l'adresse IP du client dans les messages d'erreur d'authentification.
pfSense (voir les versions concernées ci-dessus) est vulnérable à un contournement du mécanisme anti-force brute mis en place pour bloquer les utilisateurs ayant atteint la limite d'échecs d'authentification. Le code disponible dans ce dépôt facilite l'exploitation de cette vulnérabilité en utilisant l'en-tête "X-Forwarded-For" et le jeton "anti-csrf".
Avis de sécurité Netgate : https://docs.netgate.com/downloads/pfSense-SA-23_05.sshguard.asc
Ticket Redmine associé Netgate : https://redmine.pfsense.org/issues/13574