
Une version web des scripts bash écrits pour Check Point CVE-2026-50751 et CVE-2026-50752. Cela utilise un serveur local pour scanner et effectuer des modifications via l'API Web de Check Point.
Une application web locale basée sur l'approbation pour analyser les marqueurs de configuration associés aux CVE Check Point CVE-2026-50751, CVE-2026-50752, CVE-2026-85102 et CVE-2026-85103 et appliquer les mesures d'atténuation sélectionnées via les commandes de l'API Check Point Management.
Cet outil n'est ni créé ni pris en charge par Check Point et doit être utilisé à vos propres risques. L'atténuation est temporaire. Check Point recommande de corriger rapidement à l'aide des correctifs fournis pour chaque CVE dans les Check Point Security Advisories.
L'application s'exécute localement, analyse la configuration VPN pertinente, indique où une atténuation peut être nécessaire, permet à un opérateur d'approuver les modifications et peut publier la session de gestion. La politique doit encore être installée après la publication pour que les modifications prennent effet sur les passerelles. Les résultats de configuration ne permettent pas d'établir si une passerelle est corrigée ou exploitable.
La connexion prend en charge l'authentification par nom d'utilisateur/mot de passe ou par clé API. Les résultats d'analyse utilisent le nom de l'objet de gestion SMS ou le nom de domaine Smart-1 Cloud/MDS renvoyé lorsqu'il est disponible. Les modifications approuvées utilisent la session de domaine correspondante.
Analyse la propriété globale SMS Remote Access VPN :
remote-access.vpn-authentication-and-encryption.encryption-method
Si la valeur actuelle n'est pas ike_v2_only, l'application peut approuver et appliquer une modification pour définir la propriété sur :
ike_v2_only
Cette analyse vise à identifier l'exposition où l'échange de clés IKEv1 obsolète est encore globalement autorisé pour VPN Remote Access et Mobile Access. IKEv1 est obsolète et ne constitue plus une bonne pratique du secteur. Cette modification peut affecter les anciens clients VPN. Consultez SK166415 pour les recommandations supplémentaires de Check Point.
Analyse les passerelles simples et vérifie pour chaque objet générique de passerelle le domaine VPN dans :
realmsForBlades
L'application indique si les clients hérités sont pris en charge ou désactivés. Lorsque l'atténuation est approuvée, elle définit la valeur disabled de l'objet possédé du domaine VPN sur true.
Texte du résultat affiché à l'utilisateur :
Legacy clients are disabledLegacy Clients are SupportedAutoriser les clients hérités peut maintenir la prise en charge d'IKEv1, qui n'est plus une bonne pratique du secteur. Nous recommandons de désactiver ce paramètre, sauf si les clients hérités sont encore nécessaires. Si des clients hérités sont requis, prévoyez de les migrer vers un client VPN moderne plus sécurisé.
Cette vérification recherche l'authentification par certificat personnel comme marqueur de configuration du problème de validation de certificat décrit dans l'application : une validation incorrecte des données de certificat lors de la négociation VPN peut permettre à un attaquant distant non authentifié d'exécuter du code arbitraire sur la passerelle.
Pour chaque passerelle simple renvoyée dans le domaine de gestion analysé, l'application demande les détails complets à l'aide de show-simple-gateway. L'inspection CLI équivalente est :
mgmt_cli -r true show simple-gateway name "YOUR_GATEWAY_NAME" details-level full --format json
Elle inspecte vpn-settings.authentication.authentication-clients, y compris le tableau imbriqué authentication-methods de chaque client, pour :
{
"name": "Personal_Certificate",
"display-name": "Personal Certificate",
"authentication-methods": [
{ "authentication-factor": "personal-certificate" }
]
}
La détection utilise le facteur d'authentification, et non un nom de client codé en dur. Le tableau de preuves affiche la passerelle, le domaine, l'UID, l'état actuel, les noms d'affichage des clients correspondants et le statut. Les détails manquants ou incomplets apparaissent comme Unknown ; les échecs d'API apparaissent comme Scan error. Ni l'un ni l'autre n'est traité comme un résultat propre. Cette vérification énumère actuellement les passerelles simples, et non les objets cluster.
Cochez la case de chaque passerelle à mettre à jour, puis cliquez sur Remove User Certificate. L'application revérifie les passerelles sélectionnées et supprime les options de connexion par certificat personnel détectées par leurs noms d'objet réels. Pour un client nommé Personal_Certificate, la commande équivalente est :
mgmt_cli -r true set simple-gateway name "YOUR_GATEWAY_NAME" vpn-settings.authentication.authentication-clients.remove "Personal_Certificate"
Les autres entrées de client d'authentification restent en place. La suppression d'une option de connexion supprime toute cette option, y compris les méthodes supplémentaires qu'elle contient ; elle ne supprime pas les objets de certificat. Les clients qui dépendent de l'option supprimée ont besoin d'une autre méthode d'authentification après l'installation de la politique.
Publish after successful apply est coché par défaut. L'application signale les succès et échecs individuels des passerelles et actualise l'analyse par la suite. Si la mise à jour d'une passerelle échoue, cette action ne publie pas automatiquement les modifications réussies ; examinez-les avant de publier manuellement. Les erreurs de publication sont signalées séparément. Installez la politique après la publication.
Analyse les deux types de communautés VPN site-to-site Check Point :
L'application signale une communauté VPN uniquement lorsque tous les éléments suivants sont observés :
Pour les communautés Star, l'application affiche séparément les passerelles center et les passerelles satellite. Les noms de passerelles sont étiquetés comme gérés localement ou gérés en externe lorsque les données de l'API fournissent suffisamment d'informations sur le type d'objet.
Pour les communautés Mesh, l'application récupère les noms de passerelles à partir de la liste gateways de la communauté. Les communautés Mesh n'incluent pas la gestion des passerelles gérées en externe dans cet outil, ce champ est donc affiché comme non applicable.
Lorsque l'atténuation est approuvée, l'application tente de définir la méthode de chiffrement de la communauté VPN sur IKEv2 uniquement. Les communautés Star utilisent :
set-vpn-community-star
Les communautés Mesh utilisent :
set-vpn-community-meshed
Si une communauté Star sélectionnée inclut des passerelles gérées en externe, l'application avertit avant d'appliquer la modification. Vous devez vous assurer que la modification correspondante en IKEv2 uniquement est également effectuée du côté de la passerelle gérée en externe.
Lit firewall.accept-control-connections à partir de show-global-properties avec details-level: full. Le tableau affiche Enabled, Disabled, Unknown ou Scan error, avec les libellés de gestion/domaine et les preuves d'API.
Il s'agit d'une vérification en lecture seule. Remplacez les règles implicites par des règles de contrôle d'accès explicites uniquement dans les environnements à haute sécurité, conformément à SK179346. Des règles incorrectes peuvent perturber l'installation de la politique et la connectivité de gestion/journalisation. Un paramètre désactivé seul ne vérifie pas que les règles explicites requises existent.
Une barre d'état en direct apparaît en bas pendant l'exécution des opérations. Après la connexion, elle interroge le backend pour connaître la dernière commande API, le domaine et le nombre de commandes démarrées, et affiche le temps écoulé. L'indicateur d'activité n'est pas une estimation du pourcentage d'avancement.
http://... ; cela enverrait la connexion à l'API Check Point en HTTP en clair.http://127.0.0.1:3000.Le backend relaie ces commandes de l'API Check Point Management :
loginlogoutpublishshow-sessionshow-domainsshow-gateways-and-serversshow-simple-gatewaysshow-simple-gatewayset-simple-gatewayshow-generic-objectset-generic-objectshow-global-propertiesset-global-propertiesshow-vpn-communities-starshow-vpn-communities-meshedset-vpn-community-starset-vpn-community-meshedCe projet n'a aucune dépendance npm tierce. Il nécessite uniquement Node.js 18 ou une version plus récente lors de l'exécution depuis les sources.
Installez Node.js 18 ou une version plus récente depuis nodejs.org ou Homebrew.
brew install node
Téléchargez ou clonez ce projet.
git clone <repo-url>
cd CVE-Web-Check
Démarrez l'application locale.
npm start
Comme il n'y a aucune dépendance npm, ceci fonctionne également :
node server.js
Ouvrez l'application.
http://127.0.0.1:3000
Installez Node.js 18 ou une version plus récente depuis nodejs.org.
Téléchargez et extrayez le ZIP du projet, ou clonez le dépôt avec Git for Windows.
git clone <repo-url>
cd CVE-Web-Check
Démarrez l'application locale.
npm start
Comme il n'y a aucune dépendance npm, ceci fonctionne également :
node server.js
Ouvrez l'application dans un navigateur.
http://127.0.0.1:3000
Par défaut, l'application écoute sur 127.0.0.1:3000. Pour utiliser un autre port :
macOS :
PORT=3100 npm start
Windows PowerShell :
$env:PORT = "3100"
npm start
Ouvrez ensuite :
http://127.0.0.1:3100
Ouvrez l'application en cours d'exécution à l'adresse http://127.0.0.1:3000, et non en ouvrant public/index.html comme fichier local. Les appels API et la barre d'état en direct nécessitent le backend Node. Après un redémarrage du backend, reconnectez-vous et lancez une nouvelle analyse.
Le serveur affiche les diagnostics de requête dans le terminal. Une tentative de connexion réussie affichera des lignes similaires à :
Local API request requestId=abc12345 route=/api/login
Login request received target=https://mgmt.example.com/web_api/login user=admin
Check Point API request starting command=login target=https://mgmt.example.com/web_api/login
Si le navigateur affiche une erreur de connexion avec un ID de requête mais que la capture de paquets ne montre aucune tentative sortante vers le serveur de gestion, comparez la valeur target= du terminal avec votre filtre de capture de paquets.
S'il n'y a aucune ligne Local API request du tout, le navigateur n'atteint pas le backend local. Confirmez que l'application est en cours d'exécution et que vous avez ouvert la bonne URL locale.