
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-39931 is an authenticated SQL injection vulnerability in OpenEMR's backup configuration import feature, affecting all versions through 8.2.0. It allows administrators holding admin or super ACL privileges to execute arbitrary DDL and DML statements against the application database by uploading a crafted SQL file via the form_step=202 parameter in backup.php. The vulnerability was published on August 3, 2026, and assigned a CVSS v3.1 base score of 7.2 (High) and a CVSS v4.0 base score of 8.6 (High) (GitHub Advisory, VulnCheck).
The root cause is an unrestricted upload of a dangerous file type (CWE-434) combined with an unfiltered invocation of shell_exec to call the MySQL command-line client, allowing the uploaded SQL file's contents to be executed without sanitization. An attacker with admin or super ACL privileges authenticates to OpenEMR, navigates to the backup configuration import feature, and uploads a crafted .sql file targeting the form_step=202 endpoint in backup.php. Because the application passes the file directly to the MySQL client via shell_exec without input filtering or escaping, arbitrary DDL and DML statements — including those that create triggers, stored procedures, or write files to disk — are executed in the database context. A technical write-up is available at the researcher's site (Jiva Security, VulnCheck).
Successful exploitation grants an attacker full control over the OpenEMR database, enabling extraction of credential hashes, modification of access control tables, injection of backdoor accounts, and creation of persistent database triggers or stored procedures. Where MySQL FILE privileges are granted and secure_file_priv is permissively configured, attackers can also write arbitrary files to the server filesystem, potentially enabling web shell deployment and full system compromise. The NVD SSVC assessment rates the technical impact as "total," reflecting high confidentiality, integrity, and availability impact on the vulnerable system (GitHub Advisory, VulnCheck).
A proof-of-concept (PoC) is noted as existing per NVD SSVC data, though no public exploit code has been confirmed in the wild as of the time of reporting (GitHub Advisory). Exploitation is not automatable because it requires authenticated admin-level access, reducing the likelihood of mass exploitation. The EPSS score is approximately 0.327% (26th percentile), indicating a relatively low near-term exploitation probability. There is no current evidence of in-the-wild exploitation or CISA KEV catalog inclusion (GitHub Advisory).
.sql file containing arbitrary DDL/DML statements, such as CREATE USER 'backdoor'@'%' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'backdoor'@'%'; or SELECT ... INTO OUTFILE '/var/www/html/shell.php' for filesystem write.form_step=202 parameter in backup.php.shell_exec call, executing all SQL statements in the file against the application database.SELECT INTO OUTFILE, or install persistent triggers/stored procedures for long-term access (Jiva Security, VulnCheck).backup.php with form_step=202 parameter from unexpected source IPs or at unusual times; outbound connections from the web/database server to unknown external hosts following backup import activity.SELECT INTO OUTFILE operations.backup.php?form_step=202 with large or unusual file uploads; MySQL general query logs showing DDL statements (e.g., CREATE USER, GRANT, CREATE TRIGGER, CREATE PROCEDURE) not initiated by normal application activity; PHP error logs referencing shell_exec or MySQL client invocations.mysql.user; new triggers or stored procedures in the OpenEMR database schema; modified ACL or user permission tables.mysql CLI invocations with file arguments) (Jiva Security, VulnCheck).No official patched version has been confirmed in the GitHub Advisory Database as of the disclosure date; patch details remain unspecified (GitHub Advisory). As immediate workarounds: restrict access to the backup configuration import feature (backup.php) to only trusted, essential personnel; implement input validation and sanitization on all uploaded SQL files before processing; disable or restrict shell_exec usage in the PHP environment where possible; limit MySQL user privileges to the minimum required (avoid granting FILE privilege); and configure secure_file_priv to a restricted path to prevent filesystem writes. Monitor backup.php for suspicious upload activity and audit all administrative actions in the backup import workflow (VulnCheck).
The vulnerability was assigned by VulnCheck and documented in the ENISA EUVD database (EUVD-2026-52342). A technical write-up was published by Jiva Security detailing the exploitation mechanics. No significant broader media coverage or notable community commentary has been identified beyond the initial advisory and researcher write-up (Jiva Security, VulnCheck).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."