Description
BottleCRM 0.45 through 1.14.5 contains an uncontrolled memory allocation vulnerability in _read_upload() that reads entire CSV uploads before enforcing the 5 MB limit. Authenticated users with mass-import permission can send oversized CSV files concurrently to /api/contacts/import/ and /api/cases/import/ endpoints to exhaust worker memory and trigger out-of-memory termination.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| MicroPyramid | BottleCRM | 0.45 – ≤ 1.14.5 | — |
References
- https://github.com/Django-CRM/Django-CRM/issues/828 issue-tracking
- https://github.com/Django-CRM/Django-CRM/blob/v1.14.5/backend/contacts/import_views.py#L44 technical-description
- https://github.com/Django-CRM/Django-CRM/blob/v1.14.5/backend/cases/import_views.py#L44 technical-description
- Researcher Disclosure technical-description exploit
- VulnCheck Advisory: BottleCRM 0.45 through 1.14.5 Memory Exhaustion via Contact and Case CSV Import third-party-advisory