{"answers":{"affected":"","exploited":"There is no known exploitation of CVE-2026-92916 in the wild and no public exploit code.","fix":"No fix has been published for CVE-2026-92916 yet. Limit exposure of the affected software until one is available.","what":"CVE-2026-92916 is a high-severity vulnerability in getgrav grav, published on 17 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-92916 and fix it if it is affected.\n\nWhat it is: CVE-2026-92916 is a high-severity vulnerability in getgrav grav, published on 17 Sep 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-92916 in the wild and no public exploit code.\n\nAffected product: getgrav grav. No package-level version data is available, so check the vendor advisory linked from the reference page.\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-92916/ (Markdown: https://insights.sbomify.com/CVE-2026-92916/index.md)","id":"CVE-2026-92916","markdown":"https://insights.sbomify.com/CVE-2026-92916/index.md","name":"CVE-2026-92916","record":{"aliases":["GHSA-q3ff-cj6v-rr5g","GHSA-q3g2-wjhw-4rmj"],"analysis":{"component_type":"web_application","fix_type":"upgrade","impacts":["data_read","account_takeover"],"network_reachable":"yes","non_default_config":true,"product_category":"Grav CMS","requires_auth":"none","summary":"Unauthenticated attackers can access sensitive session cookies and credentials via the Clockwork profiler endpoint when the debugger is enabled.","user_interaction":"not_required","vuln_class":"information_disclosure"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"VulnCheck","cpe":[],"cvss":{"score":8.7,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-200","name":"Exposure of Sensitive Information to an Unauthorized Actor"}],"description":"Grav is a flat-file CMS. In Grav 1.7.0 through 1.7.53.2 and 2.0.0 through 2.0.21, when the debugger is enabled (system.debugger.enabled: true, which is not the default), the Clockwork profiler endpoint is exposed without authentication: InitializeProcessor::handleDebuggerRequest() intercepts any path containing /__clockwork/ during bootstrap and passes it to Debugger::debuggerRequest(), which performs no user lookup, IP restriction, or Clockwork authenticator check, and also supports anonymous pagination over the entire stored history. With the shipped censored: false default, each stored record contains raw request cookies (including Grav's session cookie, whose value is the PHP session id, allowing an attacker to resume another user's session, including an authenticated admin's), the full parsed request body (Grav's login form posts data[username]/data[password], so passwords are stored in plaintext because Clockwork's password filter only inspects top-level keys), and the site's entire system and plugin configuration, including operator-saved secrets such as SMTP credentials, third-party API keys, and licence keys. Authorization and X-API-Token headers are stored even when censored: true. On Grav 2.0, setting provider: debugbar does not avoid the issue because Grav forces the Clockwork provider for requests preferring a JSON response. The issue is fixed in 1.7.53.4 and 2.0.22, which restrict /__clockwork/ to server-local requests or requests presenting the new system.debugger.token secret and strip cookies and credential headers from stored records. Workarounds include setting debugger.enabled: false or blocking /__clockwork/ at the web server or CDN.","ecosystems":[],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":false,"headline":"Grav through 2.0.21 Unauthenticated Information Disclosure via Clockwork","id":"CVE-2026-92916","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":null,"product":null,"products":[],"type":"information_disclosure","year":"2026"},"n_packages":0,"n_references":2,"next":{"headline":"Grav 2.0.0-rc.1 through 2.0.21 Configuration Disclosure via print_r","id":"CVE-2026-92917"},"packages":[],"prev":{"headline":"WWBN AVideo userVerifyEmail.php Unauthenticated Access Control","id":"CVE-2026-92915"},"products":["grav"],"published":"2026-09-17","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-09-30","vendors":["getgrav"]},"summary":"Unauthenticated attackers can access sensitive session cookies and credentials via the Clockwork profiler endpoint when the debugger is enabled.","url":"https://insights.sbomify.com/CVE-2026-92916/"}