
ERPNEXT v15.67.0 s'est avéré contenir de multiples vulnérabilités d'injection SQL dans le point de terminaison /api/method/frappe.desk.reportview.get via les paramètres order_by et group_by.
order_by et group_by📌 Résumé
ERPNext v15.67.0 et Frappe Framework v15.72.4 contiennent plusieurs vulnérabilités d'injection SQL authentifiées dans le point de terminaison API frappe.desk.reportview.get. Une entrée malveillante dans les paramètres order_by ou group_by peut être utilisée pour injecter et exécuter des instructions SQL arbitraires. Cela permet à un utilisateur authentifié (avec un accès de base aux rapports) d'extraire des données sensibles, d'effectuer une énumération de la base de données, et potentiellement de manipuler ou d'élever ses privilèges au sein du système.
Type de vulnérabilité : Injection SQL (CWE-89)
Produit(s) concerné(s) : ERPNext / Frappe
Versions concernées :
Point de terminaison concerné :
POST /api/method/frappe.desk.reportview.get
Paramètres vulnérables :
order_bygroup_byAuthentification requise : Oui (session valide via le cookie sid)
Type d'attaque : À distance
Gravité : Élevée (exécution de code SQL, exfiltration de données, élévation de privilèges potentielle)
Score CVSS v3.1 estimé : 8,6 (Élevé) — estimation ; le score final doit être attribué par l'autorité officielle du CVE.
Statut : Non corrigé (au moment de la divulgation)
Identifiant CVE : CVE-2025-56381

✅ Testez uniquement sur des systèmes que vous possédez ou pour lesquels vous avez l'autorisation explicite de tester. Ne pas utiliser contre des systèmes de production sans consentement.
%28select%20updatexml%28null%2Cconcat%280x7e%2Cdatabase%28%29%2C0x7e%29%2Cnull%29%29
{
"doctype": "User",
"order_by": "(select updatexml(null,concat(0x7e,database(),0x7e),null))"
}
Cela confirme que l'injection SQL a été exécutée avec succès et que le nom de la base de données actuelle a été divulgué.
/api/method/frappe.desk.reportview.get avec une charge utile order_by ou group_by malveillante.order_by et group_by par rapport à une liste blanche connue de noms de colonnes acceptables avant traitement./reportview.get et aux fonctionnalités de rapports en fonction des rôles utilisateur et des niveaux de confiance.frappe.desk. Les opérateurs devraient mettre à niveau dès qu'un correctif est disponible.Découvreur : Mohammed Aloli
Frappe Framework : https://github.com/frappe/frappe
Projet ERPNext : https://github.com/frappe/erpnext
Aide-mémoire OWASP sur l'injection SQL : https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html
Cet avis est publié à des fins éducatives et de recherche défensive en sécurité uniquement. Exploiter cette vulnérabilité sans autorisation est illégal et contraire à l'éthique. Si vous êtes un développeur ou un administrateur d'ERPNext ou de Frappe, appliquez immédiatement les atténuations recommandées et surveillez toute utilisation anormale de l'API.