Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted email to monitored inbox
-
DeliveryEmailCollector fetches and parses message
-
ExploitMIME attachment filename with traversal sequence passed unsanitized
-
Executionfile_put_contents() writes attacker content outside attachment directory
-
Impact(if htdocs writable) HTTP request executes planted PHP web shell
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The EmailCollector module must be enabled and configured with at least one active collector pointing to a real mailbox - this is the module's ordinary operational mode for support or ticket inboxes, so it is not a non-default or unusual configuration. The attacker must be able to send email to that monitored mailbox address; because such inboxes are typically public-facing (support@, tickets@), this is achievable by any internet sender without authentication or a Dolibarr account. Worst-case impact (web shell planting leading to RCE) additionally requires that the Dolibarr htdocs directory be writable by the web-server process - a configuration that Dolibarr's SECURITY.md explicitly flags as hardening-required but which is common in shared-hosting and quick-deployment scenarios. On hardened deployments where htdocs is read-only, exploitation is limited to writing attacker-controlled content into the Dolibarr documents tree, enabling document corruption or forgery for any object whose attachment directory is reachable via traversal. No special protocol, feature flag beyond EmailCollector being active, or authenticated session is required. |
| Impact | The CVSS 4.0 score of 8.8 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L) accurately reflects the network-reachable, zero-privilege, low-complexity nature of this flaw: any party who can send email to a monitored mailbox - including anonymous internet senders - can trigger the write. EPSS data is not provided, and the vulnerability is not listed in the CISA KEV catalog, so widespread automated exploitation has not been confirmed; however, the lack of any authentication barrier and the ubiquity of support-inbox configurations mean the practical exploitation bar is very low. The CVSS integrity impact is rated High but no confidentiality impact is noted (VC:N), consistent with this being a write-only primitive in the base case. The severity bifurcates sharply based on server configuration: on hardened deployments the impact is document corruption and object forgery within Dolibarr's documents tree, serious but contained; on installations where htdocs is writable - a configuration Dolibarr's own SECURITY.md warns against but which exists in practice on many shared-hosting and quickly-deployed instances - the same path traversal becomes a direct route to planting a PHP web shell, escalating effective impact to full remote code execution. Even a mid-sized municipal IT team in tczew should treat this as urgent if EmailCollector is enabled and the Dolibarr htdocs directory is writable by the web process. |
| Exploit ScenarioDerived | An attacker who knows or discovers that a target organization uses Dolibarr's EmailCollector to ingest support requests sends a crafted email to the monitored inbox with an attachment whose MIME filename contains a path traversal sequence, for example '../../htdocs/shell.php'. When EmailCollector processes the message, the unsanitized filename is concatenated into the write path, and file_put_contents() deposits the attacker's PHP content into htdocs/shell.php. The attacker then issues an HTTP request to the planted script to execute arbitrary OS commands as the web-server user. No public exploit code has been identified at time of analysis, but the technique is straightforward for any attacker familiar with PHP path traversal patterns. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 27, 2026
Path traversal via unsanitized MIME attachment filenames in Dolibarr's EmailCollector module allows any email sender to write attacker-controlled files outside the intended attachment directory, affecting versions 9.0.0 through 23.0.4. Because the EmailCollector is designed to ingest mail from unauthenticated external senders - such as a support or ticket inbox - no Dolibarr account is required to exploit this flaw. On hardened deployments with a read-only htdocs tree, the attacker can corrupt or forge documents belonging to other objects; on installations where htdocs is writable, the same write primitive reaches web-executable PHP paths, enabling remote code execution. No public exploit identified at time of analysis.
RemediationAI
The primary remediation is upgrading to Dolibarr version 24.0.0 or later, which applies dol_sanitizePathName() and dol_sanitizeFileName() to all attachment-write paths in the EmailCollector module; the upstream patch is at https://github.com/Dolibarr/dolibarr/commit/264a44defb5e438689c75679617f6edc4c038abc. For installations that cannot upgrade immediately, the most effective compensating control is disabling the EmailCollector module entirely via Dolibarr's module management interface; this removes the inbound-email processing path that carries the traversal, with the trade-off that automated ticket/project creation from email will cease. Where disabling EmailCollector is not acceptable, restricting the mailbox monitored by EmailCollector to accept mail only from known trusted senders (via MTA-level allowlisting) reduces the unauthenticated-sender attack surface, though this is operationally complex and subject to sender-spoofing if SPF/DKIM enforcement is not strict. Additionally, ensuring that the Dolibarr htdocs directory is not writable by the web-server process - as Dolibarr's SECURITY.md already recommends - limits worst-case impact to document-tree corruption rather than RCE, buying time for patching without removing the vulnerability.
Affected VersionsENISA
Affected Packages
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
Dolibarr (cpe:2.3:a:dolibarr:dolibarr:*:*:*:*:*:*:*:*) is a PHP-based open-source ERP and CRM platform. Its EmailCollector module polls IMAP/POP3 mailboxes and processes inbound messages to create tickets, projects, or records. CWE-22 (Path Traversal) describes the root cause: the raw MIME attachment name returned by getName() or getFilename() is concatenated directly into a filesystem path - either as $path . $filename . '.' . $ext in the global saveAttachment() function in emailcollector.lib.php:187, or as $destdir.'/'.$filename in the private saveAttachment() method of emailcollector.class.php - and passed to file_put_contents() without reduction to a safe basename. A filename such as '../../htdocs/malicious.php' traverses out of the per-object attachment directory. The fix in version 24.0.0 (commit 264a44d) wraps $destdir through dol_sanitizePathName() and $filename through dol_sanitizeFileName() before any filesystem operation, and also eliminates the now-redundant global saveAttachment() function from emailcollector.lib.php entirely.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
Network vector with no privileges or interaction required; integrity High from arbitrary file write; availability Low from potential document corruption; scope unchanged in base case.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Dolibarr 9.0.0 through 23.0.4 saves inbound email attachments under the name supplied in the message's MIME headers without reducing it to a safe basename. The global saveAttachment() in htdocs/emailcollector/lib/emailcollector.lib.php builds $filepath = $path . $filename . '.' . $ext and hands it to file_put_contents(), and the private saveAttachment() in htdocs/emailcollector/class/emailcollector.class.php writes to $destdir.'/'.$filename; the name reaches both from the attachment's own getName() or getFilename() value by way of the record-join, create-ticket and create-project operations. A traversal sequence in the filename therefore survives intact, so any sender who can email a mailbox that an EmailCollector monitors, which is the module's ordinary use for a support or ticket inbox, can place attacker-controlled content outside the per-object attachment directory without holding a Dolibarr account. Under the hardened layout Dolibarr's SECURITY.md requires, with htdocs read-only, the write is confined to the documents tree and corrupts or forges other objects' documents; where htdocs is writable the same primitive reaches a web-executable path. Version 24.0.0 applies dol_sanitizePathName() and dol_sanitizeFileName() before the write.
Executive ViewAI
Dolibarr's EmailCollector module (versions 9.0.0-23.0.4) contains a path traversal vulnerability allowing unauthenticated email senders to write files outside the intended directory, potentially enabling unauthorized data corruption or remote code execution. This poses direct risk to enterprises using Dolibarr for external email ingestion such as support ticketing systems, as no user credentials are required for exploitation. Organizations must prioritize patching to prevent attackers from compromising sensitive documents or gaining system access through customer-facing email channels.
Apply vendor patch. Until patching is complete, disable the EmailCollector module, restrict email ingestion to trusted internal sources only, or apply read-only file permissions on the htdocs directory to mitigate remote code execution risk.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
An issue in Dolibarr ERP CRM v.17.0.1 and before allows a remote privileged attacker to execute arbitrary code via a cra
Dolibarr before 17.0.1 allows remote code execution by an authenticated user via an uppercase manipulation: <?PHP instea
Dolibarr ERP/CRM 4.0.4 has SQL Injection in doli/theme/eldy/style.css.php via the lang parameter. Rated critical severit
Cross Site Scripting vulnerability in Dolibarr ERP CRM v.17.0.1 and before allows a remote attacker to obtain sensitive
Dolibarr ERP/CRM 4.0.4 stores passwords with the MD5 algorithm, which makes brute-force attacks easier. Rated critical s
SQL injection attacks can result in unauthorized access to sensitive data, such as passwords, credit card details, or pe
Dolibarr Open Source ERP & CRM for Business before v14.0.1 allows attackers to escalate privileges via a crafted API. Ra
Dolibarr ERP & CRM <=15.0.3 is vulnerable to Eval injection. Rated critical severity (CVSS 9.8), this vulnerability is r
The website builder module in Dolibarr 13.0.2 allows remote PHP code execution because of an incomplete protection mecha
The htdocs/index.php?mainmenu=home login page in Dolibarr 10.0.6 allows an unlimited rate of failed authentication attem
SQL injection vulnerability in Dolibarr before 7.0.2 allows remote attackers to execute arbitrary SQL commands via vecto
Dolibarr ERP CRM 7.0.3 contains a remote code evaluation vulnerability that allows unauthenticated attackers to execute
EUVD-2026-67235
GHSA-jgch-2jr2-87vj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB