Dolibarr 9.0.0 through 23.0.4 Path Traversal via EmailCollector Attachment Filename
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- —
- Confidentiality · integrity · availability
- None · High · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA dolibarr (Dolibarr) Fixed in 24.0.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
dolibarr 24.0.0
2 records Highest priority Priority MEDIUM 2 MEDIUM
Other records, highest priority first
- TI-2026-56376 Dolibarr before 24.0.0 SQL Injection via the CSV and XLSX Import Update KeysPriority MEDIUM 40
Timeline
- 2026-10-02 Threatist record created from CVE-2026-81730
- 2026-10-03 Alias added: GHSA-jgch-2jr2-87vj
References
More Dolibarr Erp/crm vulnerabilities
- TI-2022-21049 Dolibarr Open Source ERP & CRM for Business before v14.0.1 allows attackers to escalate privileges via a crafted API. CVSS 3.1CRITICAL 9.8
- TI-2022-03742 SQL Injection in dolibarr/dolibarr CVSS 3.1CRITICAL 9.8
- TI-2023-14191 Dolibarr before 17.0.1 allows remote code execution by an authenticated user via an… CVSS 3.1HIGH 8.8
- TI-2018-15582 Dolibarr ERP CRM 7.0.3 Remote Code Execution via install/step1.php CVSS 4.0CRITICAL 9.3
- TI-2019-15505 Dolibarr ERP/CRM 10.0.1 SQL Injection via elemid CVSS 4.0HIGH 8.8
- TI-2026-18933 Dolibarr: OS Command Injection (RCE) via MAIN_ODT_AS_PDF configuration CVSS 4.0CRITICAL 9.4
Sources
- CVE-2026-81730 · CVE Program
- CVE-2026-81730 · NVD
- FIRST EPSS
- GHSA-jgch-2jr2-87vj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences