{"schemaVersion":3,"id":"CVE-2026-109629","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"Frappe ERPNext before 15.121.3 and 16.x before 16.35.0 contains a missing authorization vulnerability in an endpoint that sends transactional email through the site's configured outgoing account without checking the caller's authorization. Any authenticated user can supply arbitrary recipient lists and message content to send attacker-controlled messages carrying the organisation's sending identity.","dates":{"published":"2026-10-12T22:22:09.019Z","modified":"2026-10-13T13:38:21.804Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.3,"severity":"medium","version":"4.0","versionLabel":"v4.0","source":"NVD","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/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":5.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/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":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":5.3,"severity":"medium","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":4.3,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00192,"percentile":0.08415,"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.00192,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00192,"percentile":0.08415}],"last30":[{"date":"2026-10-13T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00192,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.00192,"percentile":0.08415}]},"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":"< 15.121.3","noFixRecorded":false,"fixedIn":null},{"text":"≥ 16.0.0-beta.1, < 16.35.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 15.121.3 | ≥ 16.0.0-beta.1, < 16.35.0","eol":null,"hubHref":"/vendor/frappe/erpnext"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/frappe/erpnext/security/advisories/GHSA-7j2w-hg27-8g3q","label":"github.com/frappe/erpnext/security/advisories/GHSA-7j2w-hg27-8g3q","hostname":"github.com","tags":["Vendor Advisory"]},{"url":"https://www.vulncheck.com/advisories/frappe-erpnext-before-15.121.3-missing-authorization-in-transactional-email-endpoint","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:09.019Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-13T13:38:21.804Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":21,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T16:39:27.273Z","stale":false,"partial":false}}