openDCIM
CVE-2026-28516
CRITICAL
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/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
Network-reachable, low-complexity SQLi; description requires an authenticated user so PR:L (not PR:N), with full C/I/A impact via arbitrary SQL and the documented RCE chain.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/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
Lifecycle Timeline
9DescriptionCVE.org
openDCIM version 23.04, through commit 4467e9c4, contains a SQL injection vulnerability in Config::UpdateParameter. The install.php and container-install.php handlers pass user-supplied input directly into SQL statements using string interpolation without prepared statements or proper input sanitation. An authenticated user can execute arbitrary SQL statements against the underlying database.
AnalysisAI
SQL injection in openDCIM 23.04 (up to commit 4467e9c4) lets attackers execute arbitrary SQL through the Config::UpdateParameter routine, which the install.php and container-install.php handlers reach with unsanitized, string-interpolated input. Publicly available exploit code exists (Chocapikk PoC and write-up) demonstrating a chain from SQLi to remote code execution, though it is not listed in CISA KEV and EPSS rates real-world exploitation probability at only 0.04%. Note a data conflict: the CVSS 4.0 vector encodes PR:N (unauthenticated) while the description states an authenticated user is required.
Technical ContextAI
openDCIM is an open-source, PHP/MySQL data center infrastructure management (DCIM) web application for tracking cabinets, devices, power and cabling. The root cause is CWE-89 (SQL Injection): in config.inc.php, Config::UpdateParameter built the query as UPDATE fac_Config SET Value="$value" WHERE Parameter="$parameter" using direct PHP string interpolation of user-supplied values, with no prepared statements. The vendor fix (PR #1664) rewrites the query to a PDO prepared statement with :value/:parameter placeholders, and additionally adds a $person->SiteAdmin authorization gate to the ldapaction=Set path in both install.php and container-install.php, indicating those handlers previously lacked an admin check. The same PR also hardens report_network_map.php by wrapping exec() arguments in escapeshellarg() and validating the dot binary - consistent with the published SQLi-to-RCE chain. CPE confirms the single affected build: cpe:2.3:a:opendcim:opendcim:23.04.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the changes from https://github.com/opendcim/openDCIM/pull/1664, which converts Config::UpdateParameter to a PDO prepared statement (:value/:parameter placeholders) and adds a $person->SiteAdmin authorization check to the ldapaction=Set path in install.php and container-install.php. If you cannot deploy the patch immediately, remove or restrict access to install.php and container-install.php after initial setup (these installer scripts should not remain reachable in production; deleting or web-server-denying them closes the injection entrypoint at the cost of blocking future re-install or config-import operations), and place the openDCIM UI behind authenticated VPN/IP allow-listing to limit who can reach the endpoints. Also pick up the report_network_map.php hardening (escapeshellarg on exec arguments and dot-binary validation) from the same PR to break the documented SQLi-to-RCE chain. See the exploit write-up at https://chocapikk.com/posts/2026/opendcim-sqli-to-rce/ and PoC at https://github.com/Chocapikk/opendcim-exploit to validate mitigations.
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro
The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all
Same weakness CWE-89 – SQL Injection
View allShare
External POC / Exploit Code
Leaving vuln.today