Read the docs
TI-2025-40777 Aliases CVE-2025-66303GHSA-x62q-p736-3997

Grav is vulnerable to a DOS on the admin panel

Priority MEDIUM 56CWE-400Published · Updated

Key facts

Attack vector
Network
Privileges required
High
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.

Summary

Grav is a file-based Web platform. Prior to 1.8.0-beta.27, A Denial of Service (DoS) vulnerability has been identified in Grav related to the handling of scheduled_at parameters. Specifically, the application fails to properly sanitize input for cron expressions. By manipulating the scheduled_at parameter with a malicious input, such as a single quote, the application admin panel becomes non-functional, causing significant disruptions to administrative operations. The only way to recover from this issue is to manually access the host server and modify the backup.yaml file to correct the corrupted cron expression. This vulnerability is fixed in 1.8.0-beta.27.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00415 36th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed grav (getgrav): 1.8.0-beta.27getgrav/grav (Packagist): 1.8.0-beta.27

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
getgravgravbefore 1.8.0-beta.271.8.0-beta.27Patch availableCNA
—getgrav/grav (Packagist)before 1.8.0-beta.271.8.0-beta.27Patch availableGHSA-x62q-p736-3997
  • grav Vendorgetgrav Affected before 1.8.0-beta.27 Fixed in 1.8.0-beta.27 Patch available CNA
  • getgrav/grav (Packagist) Vendor— Affected before 1.8.0-beta.27 Fixed in 1.8.0-beta.27 Patch available GHSA-x62q-p736-3997

CPE configurations NVD · 27

CPEVersionsRoleVendor
cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*before 1.8.0Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta1:*:*:*:*:*:*1.8.0 beta1Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta10:*:*:*:*:*:*1.8.0 beta10Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta11:*:*:*:*:*:*1.8.0 beta11Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta12:*:*:*:*:*:*1.8.0 beta12Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta13:*:*:*:*:*:*1.8.0 beta13Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta14:*:*:*:*:*:*1.8.0 beta14Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta15:*:*:*:*:*:*1.8.0 beta15Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta16:*:*:*:*:*:*1.8.0 beta16Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta17:*:*:*:*:*:*1.8.0 beta17Vulnerablegetgrav
  • cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:* Versions before 1.8.0 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta1:*:*:*:*:*:* Versions 1.8.0 beta1 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta10:*:*:*:*:*:* Versions 1.8.0 beta10 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta11:*:*:*:*:*:* Versions 1.8.0 beta11 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta12:*:*:*:*:*:* Versions 1.8.0 beta12 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta13:*:*:*:*:*:* Versions 1.8.0 beta13 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta14:*:*:*:*:*:* Versions 1.8.0 beta14 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta15:*:*:*:*:*:* Versions 1.8.0 beta15 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta16:*:*:*:*:*:* Versions 1.8.0 beta16 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta17:*:*:*:*:*:* Versions 1.8.0 beta17 Vulnerable ·getgrav
Show 17 more CPE
CPEVersionsRoleVendor
cpe:2.3:a:getgrav:grav:1.8.0:beta18:*:*:*:*:*:*1.8.0 beta18Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta19:*:*:*:*:*:*1.8.0 beta19Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta2:*:*:*:*:*:*1.8.0 beta2Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta20:*:*:*:*:*:*1.8.0 beta20Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta21:*:*:*:*:*:*1.8.0 beta21Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta22:*:*:*:*:*:*1.8.0 beta22Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta23:*:*:*:*:*:*1.8.0 beta23Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta24:*:*:*:*:*:*1.8.0 beta24Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta25:*:*:*:*:*:*1.8.0 beta25Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta26:*:*:*:*:*:*1.8.0 beta26Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta3:*:*:*:*:*:*1.8.0 beta3Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta4:*:*:*:*:*:*1.8.0 beta4Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta5:*:*:*:*:*:*1.8.0 beta5Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta6:*:*:*:*:*:*1.8.0 beta6Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta7:*:*:*:*:*:*1.8.0 beta7Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta8:*:*:*:*:*:*1.8.0 beta8Vulnerablegetgrav
cpe:2.3:a:getgrav:grav:1.8.0:beta9:*:*:*:*:*:*1.8.0 beta9Vulnerablegetgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta18:*:*:*:*:*:* Versions 1.8.0 beta18 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta19:*:*:*:*:*:* Versions 1.8.0 beta19 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta2:*:*:*:*:*:* Versions 1.8.0 beta2 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta20:*:*:*:*:*:* Versions 1.8.0 beta20 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta21:*:*:*:*:*:* Versions 1.8.0 beta21 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta22:*:*:*:*:*:* Versions 1.8.0 beta22 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta23:*:*:*:*:*:* Versions 1.8.0 beta23 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta24:*:*:*:*:*:* Versions 1.8.0 beta24 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta25:*:*:*:*:*:* Versions 1.8.0 beta25 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta26:*:*:*:*:*:* Versions 1.8.0 beta26 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta3:*:*:*:*:*:* Versions 1.8.0 beta3 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta4:*:*:*:*:*:* Versions 1.8.0 beta4 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta5:*:*:*:*:*:* Versions 1.8.0 beta5 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta6:*:*:*:*:*:* Versions 1.8.0 beta6 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta7:*:*:*:*:*:* Versions 1.8.0 beta7 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta8:*:*:*:*:*:* Versions 1.8.0 beta8 Vulnerable ·getgrav
  • cpe:2.3:a:getgrav:grav:1.8.0:beta9:*:*:*:*:*:* Versions 1.8.0 beta9 Vulnerable ·getgrav

Remediation

  • Fix · CNA grav (getgrav) Fixed in 1.8.0-beta.27
  • Fix · GHSA-x62q-p736-3997 getgrav/grav (Packagist) Fixed in 1.8.0-beta.27 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-66303
  2. 2026-10-03 Alias added: GHSA-x62q-p736-3997

References

  • TI-2025-28971 Cross Site Scripting vulnerability in grav v.1.7.48 and before allows an attacker to… CVSS 3.1CRITICAL 9.8
  • TI-2021-22428 GravCMS 1.10.7 - Arbitrary YAML Write/Update (Unauthenticated) (2) CVSS 4.0CRITICAL 9.3
  • TI-2025-41064 In grav <1.7.49.5, a SSRF (Server-Side Request Forgery) vector may be triggered via Twig… CVSS 3.1CRITICAL 9.1
  • TI-2026-30888 Grav: Unauthenticated Path Traversal & Arbitrary File Write in FormFlash component. CVSS 4.0HIGH 8.8
  • TI-2025-40773 Security Sandbox Bypass with SSTI (Server Side Template Injection) in the Grav CMS CVSS 3.1HIGH 8.8
  • TI-2025-40768 Grav is vulnerable to RCE via SSTI through Twig Sandbox Bypass CVSS 4.0HIGH 8.7
See all 56 →

Sources