{"id":"CVE-2026-65822","aliases":["EUVD-2026-60453","GHSA-x35x-4mvx-h959"],"status":"published","title":"ERPNext: SQL Injection in \"Inactive Customers\" report via unvalidated `doctype` filter","description":"ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.","severity":{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00464,"percentile":0.40497,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-89"],"published":"2026-08-17T20:45:45Z","modified":"2026-10-28T02:31:04Z","products":[{"vendor":"frappe","product":"erpnext"}],"references":[{"url":"https://github.com/frappe/erpnext/security/advisories/GHSA-x35x-4mvx-h959","tags":["x_refsource_CONFIRM","advisory"]},{"url":"https://github.com/frappe/erpnext/pull/55721","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/frappe/erpnext/commit/29dd6e6681d20bbacb69517d2d2c875aa929eb9e","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/frappe/erpnext/commit/f43af6624610e874e61ad3faf8701e5e6be6271a","tags":["x_refsource_MISC","fix"]},{"url":"https://github.com/frappe/erpnext/releases/tag/v15.116.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/frappe/erpnext/releases/tag/v16.23.0","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65822.json","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-65822","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-65822","title":"ERPNext: SQL Injection in \"Inactive Customers\" report via unvalidated `doctype` filter","description":"ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.","status":"published","published":"2026-08-17T20:45:45.647Z","modified":"2026-08-18T13:01:42.822Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"cna"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T13:37:13.934727Z"}],"euvd":[{"id":"EUVD-2026-60453","description":"ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.","status":"published","published":"2026-08-17T20:45:45Z","modified":"2026-08-18T13:01:42Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high"}],"updated_at":"2026-11-02T18:01:47.222335Z"}],"nvd":[{"id":"CVE-2026-65822","description":"ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.","status":"published","published":"2026-08-17T21:16:46.61Z","modified":"2026-10-23T16:10:00.313Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high","assessor":"secondary"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T14:12:38.647684Z"}],"osv":[{"id":"CVE-2026-65822","title":"ERPNext: SQL Injection in \"Inactive Customers\" report via unvalidated `doctype` filter","description":"ERPNext is a free and open source Enterprise Resource Planning tool. Prior to 15.116.0 and 16.23.0, erpnext/selling/report/inactive_customers/inactive_customers.py accepts an unvalidated doctype filter and interpolates it into raw SQL in get_sales_details and get_last_sales_amt, allowing an authenticated user to extract sensitive information and manipulate database queries. This issue is fixed in versions 15.116.0 and 16.23.0.","status":"published","published":"2026-08-17T20:45:45.647Z","modified":"2026-10-28T02:31:04.207612761Z","cvss":[{"version":"3.1","score":7.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:L","level":"high"}],"cwes":["CWE-89"],"updated_at":"2026-11-02T15:45:14.46177Z"}]}}
