Description
BookStack before 26.09.3 contains an incorrect authorization vulnerability that allows authenticated users to access other users' unpublished draft page images by checking only PageView permission without draft status. Attackers can read drawio data via the base64 endpoint or rename, replace, or delete draft images by sequential ID to disclose or tamper with unpublished work.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| BookStackApp | BookStack | < 26.09.3 | 26.09.3 |
References
- https://codeberg.org/bookstack/bookstack/commit/926e16a23f346be47d44746d14cba40cb355cbe1 patch
- https://codeberg.org/bookstack/bookstack/commit/4fec06236cbfb314fd72c1b3614c7c50162fb41c patch
- https://github.com/BookStackApp/BookStack/commit/926e16a23f346be47d44746d14cba40cb355cbe1 patch
- https://www.bookstackapp.com/blog/bookstack-release-v26-09-3/ release-notes
- https://codeberg.org/bookstack/bookstack/releases/tag/v26.09.3 release-notes
- BookStack v26.09.3 Release Notes release-notes
- https://github.com/BookStackApp/BookStack/blob/v26.09.2/app/Uploads/Controllers/DrawioImageController.php#L82-L92 technical-description
- https://github.com/BookStackApp/BookStack/blob/v26.09.2/app/Uploads/Controllers/ImageController.php#L159-L169 technical-description
- https://github.com/fishtankyu/bookstack-draft-image-idor-advisory.md third-party-advisory
- VulnCheck Advisory: BookStack before 26.09.3 Incorrect Authorization via Image and Drawio Endpoints third-party-advisory