Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:L/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 REST API, low complexity, but requires a valid API account so PR:L; primarily data exfiltration gives C:H with minor I/A impact from injectable SQL.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
6DescriptionCVE.org
Dolibarr through 23.0.3, fixed in commit 14db36e, contains a sql injection vulnerability that allows authenticated API users to exfiltrate arbitrary database contents by supplying malicious values to the sqlfilters query parameter in the setup dictionary and multicurrencies REST API endpoints. The affected endpoints in api_setup.class.php and api_multicurrencies.class.php validate sqlfilters only for balanced parentheses and rewrite matched triplets, allowing text placed outside the expected shape such as an appended UNION SELECT to be concatenated into the SQL WHERE clause unmodified, enabling retrieval of sensitive data including password hashes and API keys.
AnalysisAI
SQL injection in Dolibarr ERP/CRM through version 23.0.3 lets authenticated REST API users exfiltrate arbitrary database contents - including password hashes and API keys - by abusing the sqlfilters parameter on the setup dictionary and multicurrencies list endpoints. The flawed filter only checked for balanced parentheses and rewrote matched triplets, so an appended UNION SELECT placed outside the expected pattern was concatenated into the WHERE clause unmodified. Publicly available exploit code exists and a vendor fix has been committed; the issue is not listed in CISA KEV.
Technical ContextAI
Dolibarr is a PHP-based open-source ERP/CRM whose REST API exposes a 'sqlfilters' query parameter intended to let clients pass a constrained, structured search expression (triplets of the form (field:operator:value)). The pre-fix code in api_setup.class.php (getListOfRegions, getListOfIncoterms, getListOfVAT) and multicurrency/class/api_multicurrencies.class.php (index) called DolibarrApi::_checkFilters(), which validated only that parentheses were balanced, then used preg_replace_callback over the regex '\(([^:'\(\)]+:[^:'\(\)]+:[^\(\)]+)\)' to rewrite recognized triplets. Any text outside that pattern (e.g. a trailing UNION SELECT) passed through untouched and was appended directly into the SQL WHERE clause - a textbook CWE-89 (Improper Neutralization of Special Elements used in an SQL Command) failure rooted in allow-list shape validation rather than true parameterization. The patch replaces this with forgeSQLFromUniversalSearchCriteria(), Dolibarr's centralized, safer query-builder helper.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed - apply the fix from commit 14db36e (https://github.com/Dolibarr/dolibarr/commit/14db36e8486ef725b0d493d97abb2950a54358d3) via PR #38794 (https://github.com/Dolibarr/dolibarr/pull/38794), which routes sqlfilters through forgeSQLFromUniversalSearchCriteria() instead of the weak _checkFilters()/regex rewrite, or upgrade to the next release that incorporates it once published. If immediate patching is not possible, restrict network access to the Dolibarr REST API (bind to localhost or place behind an authenticated reverse proxy / IP allow-list), and consider disabling or blocking the affected list endpoints (setup dictionaries and multicurrencies) at the proxy layer - note this will break legitimate integrations that consume those endpoints. As a defense-in-depth step, rotate API keys and force password resets after patching, since hashes and keys may already have been exposed; deploy a WAF rule to flag 'UNION'/'SELECT' tokens in the sqlfilters parameter, accepting that WAF filtering is bypassable and is only a stopgap.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
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
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
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
Same weakness CWE-89 – SQL Injection
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-40363
GHSA-2852-jv28-2mv8