CVE-2026-125870: BookStack before 26.09.3 Broken Access Control via ImageController

Published Nov 12, 2026
·
Updated

BookStack before 26.09.3 contains a missing authorization vulnerability in ImageController::checkImagePermission() that allows authenticated non-admin users to bypass page-level content restrictions for images whose owning page has been moved to the recycle bin, because the permission check relies on Page::getPage() which returns null for soft-deleted pages and silently skips the PageView check. Attackers can enumerate sequential image IDs via GET /images/edit/{id} to disclose metadata of restricted images, and users with image-update-all/image-delete-all privileges can rename, replace, or permanently delete images belonging to content they cannot view, persisting the damage even after the page is restored.

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade BookStack to a version that resolves this vulnerability.

    Fixed in 26.09.3

Event History

Nov 12, 2026
CVE Published
via MITRE·12:48 PM
Data Sourced
via MITRE·12:48 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·01:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is exposed to this issue?

Authenticated non-admin users are exposed to the metadata disclosure path. Modification or permanent deletion of inaccessible images additionally requires image-update-all or image-delete-all privileges.

2

What conditions are required for exploitation?

The target image must belong to a page that has been moved to the recycle bin. An attacker must be authenticated and able to enumerate image IDs using the /images/edit/{id} endpoint; higher image-wide privileges are required to alter or delete images.

3

Are active pages affected?

The described authorization bypass occurs because the owning page is soft-deleted and Page::getPage() returns null. The provided information does not indicate that images on non-deleted pages are affected.

4

What is the impact if images are modified while the page is in the recycle bin?

Users with image-update-all or image-delete-all privileges can rename, replace, or permanently delete images belonging to content they cannot view. The changes persist even if the owning page is later restored.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203