CVE-2026-62673
## Summary The default `.htaccess` shipped with Grav (and the reference `webserver-configs/htaccess.txt`) contains security rules that block direct HTTP access to sensitive file types (`.yaml`, `.yml`, `.php`, `.json`, `.twig`, etc.) under `user/` and `system/vendor/` directories. However, these rules lack the `[NC]` (No Case) flag, making them case-sensitive. On case-insensitive filesystems (Windows/NTFS, macOS/HFS+, or Linux with Docker volumes mounted from Windows/macOS), an attacker can bypass these rules by requesting files with uppercase extensions (e.g., `.YAML`, `.PHP`, `.JSON`). ## Affected Versions - Grav 2.0.1 (latest stable as of June 2026) — confirmed - Grav 1.7.x — likely affected (same `.htaccess` rules) - All versions shipping the current `webserver-configs/htaccess.txt` ## Affected Component File: `.htaccess` (root of Grav installation) Reference: `webserver-configs/htaccess.txt` ## Affected Rules (lines 68, 70, 72) ```apache # Line 68 — system/vendor file types RewriteRule ^(system|vendor)/(.*)\.(txt|xml|md|html|htm|shtml|shtm|json|yaml|yml|php|php2|php3|php4|php5|phar|phtml|pl|py|cgi|twig|sh|bat)$ error [F] # Line 70 — user file types RewriteRule ^(user)/(.*)\.(txt|md|json|yaml|yml|php|php2|php3|php4|php5|phar|phtml|pl|py|cgi|twig|sh|bat)$ error [F] # Line 72 — .md files globally RewriteRule \.md$ error [F] ``` All three rules use `[F]` without `[NC]`, making the extension match case-sensitive. ## Steps to Reproduce 1. Install Grav on a system with a case-insensitive filesystem: - Windows (native WAMP/XAMPP) - macOS (default HFS+) - Docker on Windows/macOS with volume mounts (e.g., `./data:/var/www/html`) 2. Create or use any plugin that stores sensitive data in its YAML config (e.g., API keys): ``` user/plugins/my-plugin/my-plugin.yaml ``` 3. Request the file with a case-varied extension: ``` GET /user/plugins/my-plugin/my-plugin.YAML HTTP/1.1 ``` 4. **Expected**: HTTP 403 Forbidden 5. **Actual**: HTTP 20
Properties
- ghsa_id
- GHSA-vwg3-w8w3-pc79
- severity
- high
- summary
- Grav: .htaccess file extension rules bypass via case variation on case-insensitive filesystems
- cve_id
- CVE-2026-62673
- is_ghsa_only
- false
- ghsa_published
- 2026-08-19T19:32:38Z
- source_url
- https://github.com/advisories/GHSA-vwg3-w8w3-pc79
- ghsa_updated
- 2026-08-19T19:32:42Z
Related Entities (4)
VULNERABLE_TO (1)
AFFECTS (1)
HAS_WEAKNESS (1)
REPORTED_BY (1)
Explore deeper with Ninja Signal's threat intelligence graph