Dolibarr 9.0.0 through 23.0.4 Path Traversal via EmailCollector Attachment Filename
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dolibarr | dolibarr | unaffected |
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Dolibarr | Dolibarr |
|
||||||||||||
| Dolibarr | Erp Crm |
|
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.561% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Dolibarr dolibarr
Dolibarr erp Crm |
|
| Vendors & Products |
Dolibarr dolibarr
Dolibarr erp Crm |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | 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. | |
| Title | Dolibarr 9.0.0 through 23.0.4 Path Traversal via EmailCollector Attachment Filename | |
| First Time appeared |
Dolibarr
Dolibarr dolibarr Erp\/crm |
|
| Weaknesses | CWE-22 | |
| CPEs | cpe:2.3:a:dolibarr:dolibarr_erp\/crm:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Dolibarr
Dolibarr dolibarr Erp\/crm |
|
| References |
|
|
| Metrics |
cvssV3_1
|