v0.12 — Input validation: CSV-formula, zip-slip, mass-assignment (3 sub-fixes) #109

Closed
opened 2026-05-26 18:23:41 +00:00 by jesse-a · 1 comment
Owner

Severity: MEDIUM (v0.12 — pentest-rapport)

  1. CSV formula-injectietoCsv() prefixt cellen die beginnen met = + - @ \t \r met een apostrof; voorkomt dat Excel/LibreOffice ze als formule evalueert (kan exfiltratie via WEBSERVICE/HYPERLINK).
  2. Zip-slip — bestandsnaam-sanitization in saveUploadedFile() + dubbele slug() op receiptOriginal in boekhouder-ZIP-paden; voorkomt path-traversal via geprepareerde archive-entries.
  3. Mass-assignment hardeningDeal.ownerId gevalideerd tegen actieve User; Invoice.status enum-validatie. Voorkomt dat een POST met extra fields willekeurige columns kan zetten.
**Severity: MEDIUM** (v0.12 — pentest-rapport) 1. **CSV formula-injectie** — `toCsv()` prefixt cellen die beginnen met `= + - @ \t \r` met een apostrof; voorkomt dat Excel/LibreOffice ze als formule evalueert (kan exfiltratie via WEBSERVICE/HYPERLINK). 2. **Zip-slip** — bestandsnaam-sanitization in `saveUploadedFile()` + dubbele `slug()` op `receiptOriginal` in boekhouder-ZIP-paden; voorkomt path-traversal via geprepareerde archive-entries. 3. **Mass-assignment hardening** — `Deal.ownerId` gevalideerd tegen actieve User; `Invoice.status` enum-validatie. Voorkomt dat een POST met extra fields willekeurige columns kan zetten.
Author
Owner

Opgelost in commit aa68ac1.

Opgelost in commit aa68ac1.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
jesse-a/OpenCRM#109
No description provided.