{"schemaVersion":3,"id":"CVE-2026-15990","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Formidable Charts plugin for WordPress is vulnerable to Directory Traversal in all versions up to, and including, 2.0.1 via the 'frm_graph' parameter. This makes it possible for unauthenticated attackers to read the contents of arbitrary files on the server, which can contain sensitive information. Successful exploitation requires Formidable Forms Lite, Formidable Forms Pro, and Formidable Charts to be active and requires the wp-content/uploads/frm-charts/ directory to exist, normally after an image-format chart is rendered.","dates":{"published":"2026-08-26T13:28:08.896Z","modified":"2026-08-27T14:34:07.818Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":7.5,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"wordfence","score":7.5,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00688,"percentile":0.52118,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.00688},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00688,"percentile":0.52118}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00688,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00688,"percentile":0.52118}]},"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-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html"}],"affected":[{"vendor":"strategy11","product":"formidable charts","name":"Formidable Charts","label":"formidable charts","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 2.0.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≤ 2.0.1","eol":null,"hubHref":"/vendor/strategy11/formidable_charts"},{"vendor":"wordpress","product":"formidable-charts","name":"Formidable Charts","label":"formidable-charts","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≤ 2.0.1 (fixed in 2.0.2)","noFixRecorded":false,"fixedIn":"2.0.2"}],"versionsText":"≤ 2.0.1 (fixed in 2.0.2)","eol":null,"hubHref":null}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/b24bd192-c45b-479c-9e5a-7b83799f8f99?source=cve","label":"www.wordfence.com/threat-intel/vulnerabilities/id/b24bd192-c45b-479c-9e5a-7b83799f8f99?source=cve","hostname":"www.wordfence.com","tags":[]},{"url":"https://formidableforms.com/changelog/charts-2-0-2/","label":"formidableforms.com/changelog/charts-2-0-2/","hostname":"formidableforms.com","tags":[]},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/b24bd192-c45b-479c-9e5a-7b83799f8f99","label":"www.wordfence.com/threat-intel/vulnerabilities/id/b24bd192-c45b-479c-9e5a-7b83799f8f99","hostname":"www.wordfence.com","tags":["Vendor Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-08-26T13:28:08.896Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-08-27T14:34:07.818Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":30,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T05:45:24.886Z","stale":false,"partial":false}}