# CVE-2026-109325: Grav Clockwork profiler authentication bypass in loopback check

Source: https://junglewise.ai/threats/cve-2026-109325-grav-from-2-0-22-before-2-1-7-contains-an-authentication-bypass  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-12. Updated: 2026-10-16  
License: CC BY 4.0 with a link back

CVE-2026-109325 · Severity: high · CVSS 7.5 · Published 2026-10-12

Grav is a flat-file content management system. The Clockwork profiler debugging tool in affected versions trusts requests from the local loopback address without proper authentication. When Grav sits behind a same-host HTTP proxy, attackers can bypass authentication checks to access profiler records containing sensitive system configuration, secrets, and database queries.

Technologies: [Grav](https://junglewise.ai/threats/technologies/grav). Vendors: [Grav](https://junglewise.ai/threats/vendors/grav).

## Quick answers

**Is CVE-2026-109325 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-109325 being exploited in the wild.

**How severe is CVE-2026-109325?** High severity, with a CVSS score of 7.5, published 12 October 2026.

**Which products and versions are affected?** Grav 2.0.22 through 2.1.6.

**Is there a fix for CVE-2026-109325?** Yes: fixed in 2.1.7, 2.0.26. Until then: Disable the Clockwork profiler or restrict network access to the /__clockwork endpoint to trusted hosts only. Ensure X-Clockwork-Auth tokens are properly configured and validated on every profiler data read request. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-109325 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-109325?** Check whether you run Grav at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- Fixed in 2.1.7, 2.0.26

Disable the Clockwork profiler or restrict network access to the /__clockwork endpoint to trusted hosts only. Ensure X-Clockwork-Auth tokens are properly configured and validated on every profiler data read request.

## Technical details

The Clockwork profiler endpoint runs before user authorization and checks the X-Clockwork-Auth header, but unconditionally accepts requests from loopback TCP peers (127.0.0.1). Behind a same-host HTTP proxy, all external client requests appear to originate from the proxy's loopback address, defeating the authentication check. The vulnerability requires Clockwork to be enabled and a same-host HTTP proxy; the default FastCGI topology is unaffected.

## Affected products

- Grav Grav 2.0.22 through 2.1.6

## Timeline

- 2026-09-23: disclosed
- 2026-10-12: advisory

## References

- [https://github.com/getgrav/grav/security/advisories/GHSA-v8fx-pc9p-934x](https://github.com/getgrav/grav/security/advisories/GHSA-v8fx-pc9p-934x)
- [https://www.vulncheck.com/advisories/grav-from-2.0.22-before-2.1.7-clockwork-profiler-authentication-bypass-via-proxy](https://www.vulncheck.com/advisories/grav-from-2.0.22-before-2.1.7-clockwork-profiler-authentication-bypass-via-proxy)

## Related threats

- [Grav allowlist bypass in Flex form processing](https://junglewise.ai/threats/cve-2026-116019-grav-2-0-15-before-2-2-13-contains-an-allowlist-bypass)
- [Grav improper access control in FlexDirectory::dynamicFlexField()](https://junglewise.ai/threats/cve-2026-114660-grav-from-2-0-0-before-2-2-5-contains-an-improper-access-control)
- [Grav information disclosure via Twig HTTP Basic credentials](https://junglewise.ai/threats/cve-2026-114657-grav-from-2-0-0-before-2-2-5-contains-an-information-disclosure)
- [Grav image pixel limit bypass allows resource exhaustion](https://junglewise.ai/threats/cve-2026-112782-grav-1-7-53-before-1-7-53-5-and-2-0-0-rc-8-before-2-2-2-contains)
- [Grav information disclosure via nested Git repositories](https://junglewise.ai/threats/cve-2026-109326-grav-before-2-1-7-contains-an-information-disclosure)
