{"schemaVersion":3,"id":"CVE-2026-109612","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Frappe ERPNext before 15.120.0 and 16.x before 16.33.0 contains a stored cross-site scripting vulnerability in a report view that interpolates stored record names into markup without escaping. Authenticated users able to create records can store crafted record names that execute script in the session of any user who later opens the report.","dates":{"published":"2026-10-12T22:21:59.712Z","modified":"2026-10-18T12:13:28.928Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.5,"severity":"high","version":"4.0","versionLabel":"v4.0","source":"NVD","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/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","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":8.5,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/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":7.3,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":8.5,"severity":"high","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.3,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00207,"percentile":0.10231,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-13T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00207,"percentile":0.10231}],"last30":[{"date":"2026-10-13T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00207,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00207,"percentile":0.10231}]},"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-79","name":"Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","description":"The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/79.html"}],"affected":[{"vendor":"frappe","product":"erpnext","name":"erpnext","label":"erpnext","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 15.120.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 16.0.0-beta.1, < 16.33.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 15.120.0 | ≥ 16.0.0-beta.1, < 16.33.0","eol":null,"hubHref":"/vendor/frappe/erpnext"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/frappe/erpnext/security/advisories/GHSA-f99r-gp2w-xghj","label":"github.com/frappe/erpnext/security/advisories/GHSA-f99r-gp2w-xghj","hostname":"github.com","tags":["Vendor Advisory"]},{"url":"https://www.vulncheck.com/advisories/frappe-erpnext-before-15.120.0-stored-xss-via-report-view","label":"www.vulncheck.com/advisories/frappe-erpnext-before-15.120.0-stored-xss-via-report-view","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-12T22:21:59.712Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-18T12:13:28.928Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":34,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T07:18:47.368Z","stale":false,"partial":false}}