Skip to main content

Dolibarr ERP/CRM EUVDEUVD-2026-102349

| CVE-2026-110874 HIGH
Deserialization of Untrusted Data (CWE-502)
2026-10-15 VulnCheck GHSA-52qw-6h47-qw3w
7.5
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to Dolibarr with field-write rights
  2. Delivery
    Store serialized PHP object in extrafield/export/log entry
  3. Exploit
    Trigger jsonOrUnserialize() fallback to unserialize()
  4. Execution
    Instantiate gadget-chain object
  5. Impact
    Achieve code execution or file manipulation

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V1 - Encoding and Sanitization Safe deserialization, type allowlists
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Initial Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated Dolibarr account (prior to version 23.0.4) with permissions to write one of the specific attacker-controlled sinks named in the advisory: stored extrafields, export configurations, or blocked log entries. The payload only reaches the vulnerable unserialize() call inside jsonOrUnserialize() when the stored value is NOT valid JSON (json_decode() must fail first), triggering the backward-compatibility fallback that deserializes without class restrictions. Successful code execution further depends on a usable PHP gadget chain being present in the loaded application/framework classes. Limiting factors: no unauthenticated path (PR:H), elevated write privileges on the targeted field are mandatory, and the attack complexity is high (AC:H/AT:P) because the attacker must both supply a non-JSON serialized payload and chain existing gadgets. Instances are only patched by upgrading to Dolibarr 23.0.4 or later.

Impact

This is a credible but conditional risk rather than a drop-everything emergency. The vendor-supplied CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:H/UI:N, VC:H/VI:H/VA:H) scores 7.5 and is internally consistent with the description: the vulnerability is network-reachable (it lives in a web application), but exploitation is gated behind high privileges (PR:H) and non-trivial preconditions (AC:H plus AT:P), namely the ability to write stored extrafields, export configurations, or blocked log entries - all operations that in Dolibarr require an authenticated, reasonably privileged user. The technical impact is full compromise (confidentiality, integrity and availability all High) because a successful PHP object injection can reach gadget chains for code execution or arbitrary file manipulation, which is consistent with the CWE-502 classification. Weighing the signals: no EPSS score was supplied, the CVE is NOT in CISA KEV, and no public proof-of-concept is referenced, so there is no evidence of active or imminent widespread exploitation. The dominant real-world limiter is the PR:H requirement combined with the need to reach an unserialize() path that only triggers when json_decode() fails - this is a classic post-authentication privilege-to-RCE escalation, most dangerous in multi-tenant or lower-trust-user Dolibarr deployments where a low-integrity authenticated account can nonetheless write the relevant fields. Net: a real priority for exposed/multi-user Dolibarr instances because a patch exists and the impact is RCE, but the authentication and complexity gates place it below an unauthenticated-RCE emergency.

Exploit ScenarioDerived

An authenticated Dolibarr user with sufficient rights to edit a stored extrafield, an export configuration, or a blocked log entry writes a crafted serialized PHP object string into that field. When Dolibarr later retrieves the value and jsonOrUnserialize() runs, json_decode() fails on the non-JSON payload and the code falls back to unserialize() with no class restrictions, instantiating the attacker's object and triggering an available gadget chain for code execution or file manipulation. No public exploit code is referenced in the provided data, so weaponization effort would currently fall on the attacker.

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

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

Alert me

AnalysisAIv1 – Oct 15, 2026

Authenticated Dolibarr users with privileges to write extrafields, export configurations, or blocked log entries can trigger PHP object injection in versions before 23.0.4, potentially leading to code execution or file manipulation if a suitable gadget chain exists. The flaw resides in jsonOrUnserialize() and requires the stored payload to be non-JSON so that unserialize() runs without class restrictions; exploitation is high-complexity and no public exploit has been identified. Upgrading to 23.0.4 or later is the only complete fix.

RemediationAI

Upgrade to Dolibarr 23.0.4 or later, which applies the official fix (commit 17658fcaefdaabe13685e566e5f12d5fbd4f4a5c, PR #38530) that restricts unserialize() to scalar and array types. If immediate upgrade is not possible, restrict write access to extrafields, export configurations, and blocked log entries to only fully trusted administrators, since exploitation requires an authenticated account with those high write privileges; this may reduce flexibility for delegated admin roles. Additionally, audit those fields for existing serialized strings (patterns like O: or a: containing O:) and remove any unexpected entries, and consider a temporary WAF or application-level filter that rejects non-JSON serialized values in those fields, but be aware of potential false positives for legitimate legacy data. No official workaround that disables the backward-compatibility fallback without upgrading has been published.

Affected VersionsENISA

dolibarr 0 <23.0.4

Affected Packages

euvd dolibarr fix: 23.0.4

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 is a CWE-502 deserialization issue in Dolibarr's functions.lib.php. The jsonOrUnserialize() helper attempts json_decode() first and, on failure, falls back to unserialize() for backward compatibility. Before version 23.0.4, that fallback call omitted the allowed_classes option, so attacker-influenced strings that are not valid JSON are deserialized as full PHP objects. PHP object injection occurs when properties of those objects are controlled, allowing magic methods (__wakeup, __destruct, etc.) to invoke existing gadget chains in the loaded application or framework code, which can result in arbitrary code execution or file operations. The attack surface is limited to data sinks that store serialized strings: stored extrafields, export configurations, and blocked log entries, all of which are writable only by authenticated users with specific permissions. The CPE cpe:2.3:a:dolibarr:dolibarr:*:*:*:*:*:*:*:* identifies all pre-23.0.4 releases as affected. The fix, commit 17658fca, adds ['allowed_classes' => false] to the unserialize() call, disabling object instantiation while preserving backward compatibility for scalar and array data.

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.5 HIGH
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.6 MEDIUM

Network-facing web app (AV:N) but requires privileged field-write access (PR:H), a non-JSON payload and a working gadget chain (AC:H); unserialize RCE yields full C/I/A with no scope change.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

Dolibarr before 23.0.4 contains a PHP object injection vulnerability in jsonOrUnserialize() in functions.lib.php, which calls unserialize() without class restrictions when json_decode() fails. Attackers able to write stored extrafields, export configurations or blocked log entries can plant serialized objects that trigger gadget chains for code execution or file manipulation.

Executive ViewAI

Why It Matters

Dolibarr ERP/CRM versions before 23.0.4 are affected by a high-severity vulnerability that could allow users with certain write privileges to execute arbitrary code, potentially compromising sensitive business data and system integrity. No public exploit identified at time of analysis. Vendor-released patch: 23.0.4. Leadership should prioritize patching to protect critical business operations.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 58% exploitable
Prevalence
Medium
popular open-source ERP/CRM, common in SMBs but not everywhere
Data Quality
5 sources
Confidence: Medium

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.5%
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
Total

Priority Score

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

Attack Technique

Insecure deserialization occurs when an application converts serialized data (a stream of bytes representing an object's state) back into a living object without proper validation.

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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