{"schemaVersion":3,"id":"CVE-2026-109320","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"The Grav API plugin (grav-plugin-api) before 1.0.36 contains an improper session validation vulnerability that allows disabled accounts to keep API access, because SessionAuthenticator does not enforce account state. Disabled users can reuse an already authorized browser or remember-me session to call API endpoints until expiry, defeating operator revocation.","dates":{"published":"2026-10-12T16:05:12.807Z","modified":"2026-10-13T18:12:07.342Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.4,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","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:L/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":5.4,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/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:L/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":5.4,"severity":"medium","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00245,"percentile":0.14785,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-13T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00245,"percentile":0.14785}],"last30":[{"date":"2026-10-13T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00245,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00245,"percentile":0.14785}]},"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-613","name":"Insufficient Session Expiration","description":"According to WASC, \"Insufficient Session Expiration is when a web site permits an attacker to reuse old session credentials or session IDs for authorization.\"","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/613.html"}],"affected":[{"vendor":"getgrav","product":"grav-plugin-api","name":"grav-plugin-api","label":"grav-plugin-api","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.0.36","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.0.36","eol":null,"hubHref":"/vendor/getgrav/grav-plugin-api"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/getgrav/grav/security/advisories/GHSA-7qfj-82q8-frw6","label":"github.com/getgrav/grav/security/advisories/GHSA-7qfj-82q8-frw6","hostname":"github.com","tags":["Vendor Advisory","Third Party Advisory"]},{"url":"https://www.vulncheck.com/advisories/grav-api-plugin-before-1.0.36-disabled-account-session-access-bypass","label":"www.vulncheck.com/advisories/grav-api-plugin-before-1.0.36-disabled-account-session-access-bypass","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-12T16:05:12.807Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-13T18:12:07.342Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":22,"level":"low","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T19:18:33.652Z","stale":false,"partial":false}}