Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Admin-only web panel access sets PR:H and AV:N; DSN injection yields partial data and connection integrity impact only.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
grav-plugin-database is the database plugin for Grav CMS. Prior to 1.2.0, Database::__call builds PDO DSN strings by directly concatenating user-configurable YAML values from fields such as host, dbname, charset, server, database, directory, and filename without sanitization or validation, allowing an administrator with plugin configuration access to inject DSN attributes or path traversal values. This issue is fixed in version 1.2.0.
AnalysisAI
DSN string injection in grav-plugin-database prior to version 1.2.0 allows an administrator with Grav CMS plugin configuration access to manipulate PDO database connection strings by injecting unsanitized YAML field values. The vulnerable Database::__call method concatenates fields such as host, dbname, charset, server, database, directory, and filename directly into DSN strings without validation, enabling DSN attribute injection or path traversal to redirect database connections to unintended targets. No public exploit code or active exploitation has been identified at time of analysis; the fix is available in version 1.2.0.
Technical ContextAI
The vulnerability resides in the Database::__call method of grav-plugin-database, a plugin extending Grav CMS (CPE: cpe:2.3:a:getgrav:grav:*:*:*:*:*:*:*:*). PHP's PDO layer constructs database connections via DSN strings such as mysql:host=...;dbname=...;charset=..., where each semicolon-delimited key-value pair can override or extend connection parameters. Because the plugin reads connection parameters directly from administrator-controlled YAML configuration fields without sanitization, CWE-74 (Injection) is the root cause - specifically, an attacker controlling these YAML values can inject additional DSN segments (e.g., appending ;unix_socket=/tmp/attacker.sock) or supply path traversal sequences in filesystem-based DSN fields like directory and filename used by SQLite drivers. The result is that the PDO constructor receives an attacker-influenced DSN rather than the intended one.
RemediationAI
Upgrade grav-plugin-database to version 1.2.0, which addresses the issue per the upstream commit at https://github.com/getgrav/grav-plugin-database/commit/f6d058785c9e23df7efc5ea7556f8746fef286df and the release tag at https://github.com/getgrav/grav-plugin-database/releases/tag/1.2.0. If upgrading immediately is not feasible, restrict access to the Grav admin panel to trusted networks or authenticated VPN sessions to prevent unauthorized administrators from reaching the plugin configuration interface - note this does not eliminate the risk from legitimate but compromised admin accounts. As an additional control, audit existing YAML configuration values in the database plugin settings for unexpected semicolons, path traversal sequences (e.g., ../), or unknown DSN attributes, and normalize them to known-good values. There are no additional vendor-published workarounds beyond patching.
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, a Server-Side Template Injection (SSTI) vulnerability exists
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, due to improper authorization checks when modifying critical
A Remote Code Execution (RCE) vulnerability in Grav CMS v1.7.48 allows an authenticated admin to upload a malicious plug
Grav is a file-based Web platform. Rated critical severity (CVSS 9.9), this vulnerability is remotely exploitable, low a
GravCMS 1.10.7 allows unauthenticated remote attackers to write arbitrary YAML configuration files, leading to full serv
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, a user with admin panel access and permissions to create or e
Grav is a file-based Web platform. Prior to 1.8.0-beta.27, Grav CMS is vulnerable to a Server-Side Template Injection (S
Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot
Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot
Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot
Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot
Grav is an open-source, flat-file content management system. Rated high severity (CVSS 8.8), this vulnerability is remot
Same technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-42948