{"id":"CVE-2026-109377","summary":"ERPNext 9.0.0 through 16.50.0 Missing Authorization in Batch Lookup Methods","details":"ERPNext 9.0.0 through 16.50.0 contains a missing authorization vulnerability that allows authenticated users to view stock quantities via whitelisted batch methods. Attackers, including customer portal users, can call get_batch_qty, get_batches_by_oldest or get_pos_reserved_batch_qty to list every item batch with per-warehouse quantities.","modified":"2026-10-14T02:46:14.918621233Z","published":"2026-10-12T20:55:09.844Z","database_specific":{"cwe_ids":["CWE-862"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109377.json","cna_assigner":"VulnCheck"},"references":[{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/109xxx/CVE-2026-109377.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-109377"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/erpnext-9.0.0-through-16.50.0-missing-authorization-in-batch-lookup-methods"},{"type":"FIX","url":"https://github.com/frappe/erpnext/commit/10a2400312afd17df740c6ed64e0803dfbabb623"},{"type":"FIX","url":"https://github.com/frappe/erpnext/pull/60147"},{"type":"PACKAGE","url":"https://github.com/frappe/erpnext"},{"type":"ARTICLE","url":"https://github.com/frappe/erpnext/blob/v16.50.0/erpnext/stock/doctype/batch/batch.py#L235-L301"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/frappe/erpnext","events":[{"introduced":"8ff0a64ac2710b904919c7d889df451d57da14ee"},{"fixed":"7474d9e786277383de1242ab882f16856d17a9c9"},{"fixed":"10a2400312afd17df740c6ed64e0803dfbabb623"}],"database_specific":{"extracted_events":[{"introduced":"9.0.0"},{"fixed":"16.50.0"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["v16.49.0","v16.37.0","v16.36.1","v16.36.0","v16.35.0","v16.34.2","v16.34.1","v16.34.0","v16.33.0","v16.32.3","v16.32.2","v16.32.1","v16.32.0","v16.31.1","v16.31.0","v16.30.0","v16.29.0","v16.28.0","v16.27.0","v16.26.2","v16.26.1","v16.26.0","v16.25.0","v16.24.0","v16.23.1","v16.23.0","v16.22.0","v16.21.1","v16.21.0","v16.20.1","v16.20.0","v16.19.1","v16.19.0","v16.18.3","v16.18.2","v16.18.1","v16.18.0","v16.17.0","v16.16.0","v16.15.1","v16.15.0","v16.14.0","v16.13.3","v16.13.2","v16.13.1","v16.13.0","v16.12.0","v16.11.0","v16.10.1","v16.10.0","v16.9.1","v16.9.0","v16.8.3","v16.8.2","v16.8.1","v16.8.0","v16.7.3","v16.7.2","v16.7.1","v16.7.0","v16.6.1","v16.6.0","v16.5.0","v16.4.1","v16.4.0","v16.3.0","v16.2.0","v16.1.0","v16.0.1","v16.0.0","v16.0.0-beta.1","v14.0.0-beta.2","v12.1.6","v12.1.5","v12.1.4","v12.1.3","v12.1.2","v12.1.1","v12.1.0","v12.0.8","v12.0.7","v12.0.6","v12.0.5","v12.0.4","v12.0.3","v12.0.2","v12.0.1","v12.0.0","v11.0.0-beta","v10.0.2","v10.0.1","v10.0.0","v9.2.24","v9.2.23","v9.2.22","v9.2.21","v9.2.20","v9.2.19","v9.2.18","v9.2.17","v9.2.16","v9.2.15","v9.2.14","v9.2.13","v9.2.12","v9.2.11","v9.2.10","v9.2.9","v9.2.8","v9.2.7","v9.2.6","v9.2.5","v9.2.4","v9.2.3","v9.2.2","v9.2.1","v9.2.0","v9.1.8","v9.1.7","v9.1.6","v9.1.5","v9.1.4","v9.1.3","v9.1.2","v9.1.1","v9.1.0","v9.0.9","v9.0.8","v9.0.7","v9.0.6","v9.0.5","v9.0.4","v9.0.3","v9.0.2","v9.0.1","v9.0.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-109377.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"}]}