Description
Koillection through 1.8.4 contains a stored cross-site scripting vulnerability that allows authenticated users to upload HTML files as Datum file attachments lacking MIME restrictions. Attackers can upload HTML payloads via POST /api/data/{id}/file, served as text/html from public/uploads, executing JavaScript in victims' sessions to perform actions on their behalf.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| benjaminjonard | Koillection | ≤ 1.8.4 | — |
References
- https://github.com/benjaminjonard/koillection/issues/1609 issue-tracking technical-description
- https://github.com/benjaminjonard/koillection/blob/1.8.4/src/Service/ImageHandler.php#L43-L50 technical-description
- https://github.com/benjaminjonard/koillection/blob/1.8.4/src/Entity/Datum.php#L141-L145 technical-description
- Koillection 1.8.4 Release Notes release-notes
- VulnCheck Advisory: Koillection through 1.8.4 Stored XSS via Datum File Attachment Uploads third-party-advisory