Skip to main content

Dolibarr ERP EUVDEUVD-2026-76141

| CVE-2026-89012 HIGH
Improper Handling of Case Sensitivity (CWE-178)
2026-09-11 VulnCheck GHSA-vhvr-3m2v-rrfq
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Authenticate as any Dolibarr user
  2. Delivery
    Call API endpoint with sqlfilters parameter
  3. Exploit
    Supply uppercase field name to bypass case-sensitive denylist
  4. Install
    Issue prefix-matching predicates as boolean oracle
  5. C2
    Extract target user's password hash character by character
  6. Execute
    Crack hash offline
  7. Impact
    Escalate to administrator access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Case sensitivity handling
Exploitation Conditions

Exploitation requires a valid authenticated Dolibarr session as any user, including standard non-privileged accounts (PR:L per the CVSS 4.0 vector). The sqlfilters query parameter must be accessible on the target API endpoint, which is available in Dolibarr's default REST API configuration. The database backend must perform case-insensitive column resolution, which is the default behavior for MySQL and MariaDB. No special roles, elevated privileges, or non-default configuration are needed beyond possession of a valid user account and network access to the API. The attack is limited to Dolibarr 24.0.0 installations that have not applied commit 7a04d9c; whether earlier versions share the same vulnerable code path is not confirmed from available data.

Impact

The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N is well-calibrated: the attack is network-accessible with low complexity, requires authenticated access as any standard user (PR:L), and delivers high confidentiality impact through admin hash extraction. The authentication requirement meaningfully raises the bar compared to unauthenticated flaws, as an attacker must possess a valid account before exploiting the oracle. No CISA KEV listing exists and EPSS data is unavailable, but VulnCheck has reported the issue publicly. The boolean oracle technique is methodical and automatable - an attacker with API access can script full hash extraction without manual interaction, meaning the threat is not merely theoretical for any organization operating Dolibarr with API access exposed. The impact extends beyond the attacker's own account: admin password hashes for all users are reachable, enabling offline cracking and full application takeover. Absence of a KEV listing and no confirmed public exploit code provide some assurance this is not yet actively exploited.

Exploit ScenarioDerived

An attacker with any valid Dolibarr account calls the API with sqlfilters containing a predicate such as PASSWORD LIKE 'a%', bypassing the case-sensitive denylist. By iterating through all possible characters for each position and observing boolean differences in the API response (results returned vs. empty), the attacker extracts the full password hash for the administrator account character by character. The recovered hash is then submitted to an offline cracking tool to recover the administrator's plaintext password, enabling full application access.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 11, 2026

Password hash extraction from any Dolibarr 24.0.0 user account, including administrators, is possible for authenticated low-privileged users via a case-sensitivity mismatch in the sqlfilters API parameter denylist. The PHP guard in dolForgeSQLCriteriaCallback() performs case-sensitive string matching against forbidden field names, while the underlying database resolves column names case-insensitively, allowing bypasses using uppercase variants such as PASSWORD instead of password. By submitting prefix-matching predicates as boolean oracle queries, an attacker can extract full credential hashes character-by-character without elevated privileges. No public exploit code has been identified at time of analysis; a patch commit is available upstream.

RemediationAI

Apply the upstream fix by updating Dolibarr to a build that includes commit 7a04d9c970e45e15d29c91e6f5a34a262c6c51c8 (https://github.com/Dolibarr/dolibarr/commit/7a04d9c970e45e15d29c91e6f5a34a262c6c51c8); no separately tagged release version is confirmed in available data beyond the commit SHA. If an immediate code update is not feasible, consider deploying a WAF rule to reject API requests where the sqlfilters parameter contains uppercase variants of known sensitive field names (PASSWORD, PASS, LOGIN, etc.), noting this approach is brittle and may be circumvented by mixed-case inputs not covered by the rule. Restricting API access to trusted IP ranges or removing standard user API permissions reduces the authenticated attacker pool but may break legitimate integrations. Review API access logs for requests containing sqlfilters values with uppercase field names as a detection measure.

Affected VersionsENISA

dolibarr 24.0.0 <24.0.1

Affected Packages

euvd dolibarr fix: 24.0.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability resides in htdocs/core/lib/functions.lib.php within the dolForgeSQLCriteriaCallback() function, which processes the sqlfilters query parameter used by Dolibarr's REST API to apply user-supplied SQL filter predicates. A denylist protects sensitive fields such as password hashes from direct query exposure. The denylist check used PHP's in_array() with case-sensitive string comparison, while MySQL and MariaDB - the typical backends for Dolibarr - resolve column identifiers case-insensitively per the SQL standard. CWE-178 (Improper Handling of Case Sensitivity) precisely describes this class of flaw: security policy is enforced using a different case-sensitivity model than the underlying data system. The affected CPE is cpe:2.3:a:dolibarr:dolibarr:*:*:*:*:*:*:*:*. The one-line fix wraps the operand in strtolower() before the in_array() check, normalizing case prior to the denylist comparison.

Know when Dolibarr gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 7.1 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 6.5 MEDIUM

Network-accessible API requires authenticated user (PR:L); straightforward case-bypass yields high confidentiality impact only; no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

Dolibarr 24.0.0 prior to commit 7a04d9c contains a case-sensitive denylist bypass vulnerability in the sqlfilters API query parameter that allows authenticated attackers to recover protected database fields by supplying uppercase variants of denylist-protected field names. Attackers can exploit the case-insensitive database column resolution against the case-sensitive denylist check in the core library to use prefix-matching predicates as a boolean oracle and extract full password hashes for any user account, including administrators.

Executive ViewAI

Why It Matters

Dolibarr 24.0.0 is vulnerable to credential hash extraction by authenticated low-privileged users, enabling attackers to systematically compromise administrator accounts and escalate privileges across the deployment. This represents a direct path from low-privilege user to administrative access, threatening the integrity of all user identities and system security.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 73% exploitable
Prevalence
Medium
popular open-source ERP/CRM used by SMBs globally
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2023-38886 HIGH POC
7.2 Sep 20

An issue in Dolibarr ERP CRM v.17.0.1 and before allows a remote privileged attacker to execute arbitrary code via a cra

CVE-2023-30253 HIGH POC
8.8 May 29

Dolibarr before 17.0.1 allows remote code execution by an authenticated user via an uppercase manipulation: <?PHP instea

CVE-2017-7886 CRITICAL POC
9.8 May 10

Dolibarr ERP/CRM 4.0.4 has SQL Injection in doli/theme/eldy/style.css.php via the lang parameter. Rated critical severit

CVE-2023-38888 CRITICAL POC
9.6 Sep 20

Cross Site Scripting vulnerability in Dolibarr ERP CRM v.17.0.1 and before allows a remote attacker to obtain sensitive

CVE-2017-7888 CRITICAL POC
9.8 May 10

Dolibarr ERP/CRM 4.0.4 stores passwords with the MD5 algorithm, which makes brute-force attacks easier. Rated critical s

CVE-2022-4093 CRITICAL POC
9.8 Nov 21

SQL injection attacks can result in unauthorized access to sensitive data, such as passwords, credit card details, or pe

CVE-2022-43138 CRITICAL POC
9.8 Nov 17

Dolibarr Open Source ERP & CRM for Business before v14.0.1 allows attackers to escalate privileges via a crafted API. Ra

CVE-2022-40871 CRITICAL POC
9.8 Oct 12

Dolibarr ERP & CRM <=15.0.3 is vulnerable to Eval injection. Rated critical severity (CVSS 9.8), this vulnerability is r

CVE-2021-33816 CRITICAL POC
9.8 Nov 10

The website builder module in Dolibarr 13.0.2 allows remote PHP code execution because of an incomplete protection mecha

CVE-2020-7995 CRITICAL POC
9.8 Jan 26

The htdocs/index.php?mainmenu=home login page in Dolibarr 10.0.6 allows an unlimited rate of failed authentication attem

CVE-2018-10094 CRITICAL POC
9.8 May 22

SQL injection vulnerability in Dolibarr before 7.0.2 allows remote attackers to execute arbitrary SQL commands via vecto

CVE-2018-25357 CRITICAL POC
9.3 May 23

Dolibarr ERP CRM 7.0.3 contains a remote code evaluation vulnerability that allows unauthenticated attackers to execute

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy