# CVE-2026-62230: Grav .htaccess security bypass via case variation

Source: https://junglewise.ai/threats/cve-2026-62230-grav-htaccess-security-bypass-via-case-variation  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-17. Updated: 2026-07-17  
License: CC BY 4.0 with a link back

CVE-2026-62230 · Severity: high · CVSS 7.5 · Published 2026-07-17

Grav, a popular open-source content management system, contains a security flaw in its default web server configuration. When Grav is hosted on systems that do not distinguish between uppercase and lowercase filenames (such as Windows or macOS), an attacker can bypass security restrictions to download sensitive files. This could lead to the exposure of API keys, database credentials, and website source code, potentially allowing for full site compromise.

Technologies: [Grav](https://junglewise.ai/threats/technologies/grav), [getgrav/grav (Packagist)](https://junglewise.ai/threats/technologies/getgrav-grav). Vendors: [Grav](https://junglewise.ai/threats/vendors/grav), [Packagist](https://junglewise.ai/threats/vendors/packagist).

## Quick answers

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

**How severe is CVE-2026-62230?** High severity, with a CVSS score of 7.5, published 17 July 2026.

**Which products and versions are affected?** Grav < 2.0.4; getgrav/grav (Packagist) ECOSYSTEM:introduced=0,fixed=2.0.4.

**Is there a fix for CVE-2026-62230?** Yes. getgrav/grav (Packagist): upgrade to 2.0.4 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-62230 attacked?** It is attacked over the network, in a web application.

**Am I affected by CVE-2026-62230?** Check whether you run Grav or getgrav/grav (Packagist) 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

- getgrav/grav (Packagist): upgrade to 2.0.4 or later

  ```sh
  composer require getgrav/grav:^2.0.4
  ```


## Technical details

A vulnerability exists in the default .htaccess and webserver-configs/htaccess.txt files provided with Grav. The RewriteRule directives intended to block access to sensitive directories (system/, vendor/, and user/) and file extensions (.yaml, .php, .json, etc.) lack the [NC] (No Case) flag. On case-insensitive filesystems like NTFS (Windows) or HFS+ (macOS), the underlying OS will serve a file even if the request uses different casing, but the Apache mod_rewrite rules will fail to match and block the request. An unauthenticated remote attacker can exploit this by requesting files like 'config.YAML' or 'index.PHP' to bypass the blocklist and exfiltrate sensitive credentials or source code. The issue is resolved in version 2.0.4 by adding the [NC] flag to the affected rules.

## Affected products

- getgrav Grav < 2.0.4

## Identifiers

- CVE-2026-62230
- GHSA-vwg3-w8w3-pc79

## Timeline

- 2026-06-29: advisory: Initial GitHub Security Advisory published
- 2026-07-16: disclosed: CVE published to NVD and VulnCheck advisory released
- 2026-07-17: patched: Fix confirmed available in version 2.0.4

## References

- [https://github.com/getgrav/grav/security/advisories/GHSA-vwg3-w8w3-pc79](https://github.com/getgrav/grav/security/advisories/GHSA-vwg3-w8w3-pc79)
- [https://www.vulncheck.com/advisories/grav-file-access-bypass-via-case-variation](https://www.vulncheck.com/advisories/grav-file-access-bypass-via-case-variation)

## 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)
