| Title | BookstackApp BookStack v25.12.9 Improper Access Controls |
|---|
| Description | I reported a vulnerability in bookstack (https://github.com/BookStackApp/BookStack) which was promptly patched in https://github.com/BookStackApp/BookStack/releases/tag/v26.03.1
I am requesting a CVE.
Description:
The finding is confirmed by direct source code inspection. In `ExportFormatter.php`, the `chapterToMarkdown()` method at line 317 iterates over `$chapter->pages` — the raw Eloquent relationship that returns all pages associated with the chapter **with no permission scoping whatsoever**.
This is in direct contrast to every other chapter export method in the same class:
The `getVisiblePages()` method on the `Chapter` model applies `->scopes('visible')` which triggers permission filtering through the `PermissionApplicator`, and also orders by draft status and priority. The raw `$chapter->pages` relationship bypasses all of this, exposing every page in the chapter regardless of the current user's permissions. |
|---|
| Source | ⚠️ https://github.com/Ghufran2/CVE-Bookstack/blob/main/Permission%20Bypass%20in%20Markdown%20Chapter%20Export |
|---|
| User | Ghufran Khan (UID 95493) |
|---|
| Submission | 03/17/2026 14:08 (18 days ago) |
|---|
| Moderation | 04/03/2026 15:11 (17 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 355091 [BookStackApp BookStack up to 26.03 Chapter Export ExportFormatter.php chapterToMarkdown pages access control] |
|---|
| Points | 20 |
|---|