{"schemaVersion":3,"id":"CVE-2026-109640","aliases":[],"status":"published","duplicateOf":null,"title":"Frappe ERPNext before 16.22.0 Missing Authorization Allows Unauthorized Record Modification","description":"Frappe ERPNext before 16.22.0 contains a missing authorization vulnerability that allows authenticated users to modify records by invoking endpoints lacking proper authorization checks. Attackers can call these endpoints to perform operations on records beyond their permitted role, resulting in unauthorized modification of data.","dates":{"published":"2026-10-12T22:22:16.189Z","modified":"2026-10-18T12:03:18.129Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.1,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":7.2,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":7.2,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.1,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00223,"percentile":0.12169,"severity":"low","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-13T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00223,"percentile":0.12169}],"last30":[{"date":"2026-10-13T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00223,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00223,"percentile":0.12169}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-862","name":"Missing Authorization","description":"The product does not perform an authorization check when an actor attempts to access a resource or perform an action.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/862.html"}],"affected":[{"vendor":"frappe","product":"erpnext","name":"erpnext","label":"erpnext","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 16.22.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 16.22.0","eol":null,"hubHref":"/vendor/frappe/erpnext"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/frappe/erpnext/security/advisories/GHSA-c496-q7g2-62vv","label":"github.com/frappe/erpnext/security/advisories/GHSA-c496-q7g2-62vv","hostname":"github.com","tags":["Vendor Advisory"]},{"url":"https://www.vulncheck.com/advisories/frappe-erpnext-before-16.22.0-missing-authorization-allows-unauthorized-record-modification","label":"www.vulncheck.com/advisories/…","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-12T22:22:16.189Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-18T12:03:18.129Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":32,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T20:47:28.743Z","stale":false,"partial":false}}