Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pfsense-carp-vhid — pfSense CE 2.9.0-DEVELOPMENT - Élevé - À distance - RCE - CARP VHID résiduel | Kitploit
Outils/GitHubGitHub/abraxas/pfsense-carp-vhid
Analyse des VulnérabilitésExploitationExploitation d'Applications WebPost-ExploitationTests d'IntrusionCommandement et ContrôleRed TeamingLabs et Pratique
GitHubabraxas/pfsense-carp-vhid

pfsense-carp-vhid

pfSense CE 2.9.0-DEVELOPMENT - Élevé - À distance - RCE - CARP VHID résiduel

Voir le dépôt
3il y a 2 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Abraxas Labs - pfsense-carp-vhid

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-carp-vhid

pfsense-carp-vhid

Classe : RCE Portée : Distante

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

L'édition d'une IP virtuelle stocke le VHID CARP depuis le POST sans vérification 1-255. Les options de Form_Select ne sont que du HTML. L'application CARP applique escapeshellarg sur le VHID. L'application d'un IP Alias empilé interpole vhid {$carpvip['vhid']} en dehors de escapeshellarg. Le statut CARP interpole le même VHID stocké dans un pipeline grep à guillemets doubles ; le point-virgule reste entre guillemets, la substitution de commande s'exécute toujours sous /bin/sh -c. Le privilège requis est l'édition + application de VIP, pas Diagnostics: Command.

IDpas encore de CVE
ClasseRCE
PortéeDistante (WebGUI authentifiée)
CWECWE-78
CVSSÉlevé : 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduitpfSense CE
Affecté2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) CARP VHID
AuthSession WebGUI avec édition + application de VIP (le statut/widget est un déclencheur ultérieur)
LicenceGNU Affero GPL v3.0
Lab127.0.0.1 uniquement

J'ai épinglé le master public 9363ac5. Le lab est un gadget PHP composé de interface_carp_configure épinglé, du mwexec d'ipalias empilé, et de l'exec de statut. Loopback 127.0.0.1:18830.

Ce qu'un attaquant peut faire

MéthodeSinkPrivilège
POST d'un VIP carp avec un VHID non entier, puis application d'un IP Alias empilé sur ce parent _vip{uniqid}mwexec ifconfig ... alias {$gateway} {$vhid} (interfaces.inc:3238)Intégrité (prouvé en lab) : shell root. Lab : ipalias-unescaped a écrit le témoin. L'application CARP du même VHID n'a rien écrit (carp-escaped=yes).
Même VHID stocké, puis GET status_carp.php ou rendu de carp_status.widget.phppipeline grep exec (pfsense-utils.inc:794)Intégrité (prouvé en lab) : la substitution de commande à l'intérieur des guillemets doubles s'est exécutée et a écrit le témoin (status-sink=yes, status-subst=yes). Le point-virgule est resté entre guillemets. Le déclencheur widget peut être une autre session GUI.
Même shell rootsystème de fichiers de l'hôteRecon (inféré) : config.xml, clés.
Shell root ou ifconfig cassépériphériques CARP / aliasDisponibilité (inféré) : perturbation de l'interface / CARP / filtre.

Prouvé en lab vs inféré : carp-escaped, le témoin ipalias-unescaped, et le témoin de substitution de commande du statut sont prouvés en lab. La reconnaissance du système de fichiers et la perturbation du filtre sont inférées à partir du PHP-FPM root.

Nécessite : page-firewall-virtualipaddress-edit (sauvegarde) et page-firewall-virtualipaddresses (application). Sink de statut : page-status-carp ou tout tableau de bord avec le widget CARP. CSRF sur le POST.

Surface adjacente qui reste fermée

SurfaceLab
L'application CARP elle-mêmeescapeshellarg sur le VHID, carp-escaped=yes
Mot de passe CARP / advbase / advskew / subnetis_ipaddr / échappé
Non authentifiéfermé
Application xmlrpc des mêmes objets sans identifiants HAliste d'exclusion SA-26_22
Diagnostics: Commandreste fermé sauf si également accordé

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18830. Projet Compose pfsense-carp-vhid. Tag d'image pfsense-carp-vhid:2.9.0-dev. Témoin PFSENSE-CARP-VHID-WITNESS. Dernière ligne :

SUCCESS PFSENSE-CARP-VHID carp-escaped=yes ipalias-unescaped=yes status-sink=yes PFSENSE-CARP-VHID-WITNESS

Le correctif

Contraindre le VHID à une plage entière de 1-255 à la sauvegarde. Appliquer escapeshellarg sur le VHID lors de l'application d'un IP Alias empilé et sur le grep de statut, de la même manière que l'application CARP le fait déjà.

Références

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • firewall_virtual_ip.inc saveVIP
  • interfaces.inc mwexec ipalias empilé
  • pfsense-utils.inc grep de statut CARP
  • CWE-78
Télécharger l’outil