Skip to main content

Grimmory CVE-2026-93955

| EUVDEUVD-2026-83611 LOW
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-19 VulDB GHSA-frhf-rqp4-m3jc
2.1
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privilege user
  2. Exploit
    Call Kobo download endpoint with foreign bookId
  3. Execution
    Server skips ownership/authorization check
  4. Impact
    Stream and exfiltrate other users' book files

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
Exploitation Conditions

Requires an authenticated low-privilege account (PR:L) on a grimmory/BookLore instance exposing the Kobo download endpoint handled by KoboController.streamFileToResponse. Exploitation consists of supplying another user's bookId to that endpoint; no user interaction, special client, or non-default configuration is indicated beyond having the Kobo download feature reachable. Limiting factors: valid credentials are needed (not fully anonymous), impact is limited to reading book files (confidentiality only), and the affected product is a niche self-hosted application, so exposure depends on the instance being network-reachable to the attacker.

Impact

This is a real but moderate-severity authorization flaw (IDOR), not a critical priority. The CVSS 4.0 vector (AV:N/AC:L/PR:L/UI:N/VC:L, base 5.3) is internally consistent: network-reachable, low complexity, but requiring authentication (PR:L) and yielding only low confidentiality impact (VC:L) with no integrity or availability effect. The vector explicitly carries E:P (Proof-of-Concept exploit maturity), aligning with the stated public POC. There is no EPSS score and no CISA KEV listing in the provided data, so there is no signal of widespread or automated exploitation - the public exploit indicates capability, not observed activity. The CWE-639 classification (Authorization Bypass Through User-Controlled Key) matches the description far better than the input 'Authentication Bypass' tag; this is a horizontal access-control bug where an already-authenticated user retrieves resources they should not, not a bypass of the login/auth boundary itself. Net: a genuine defect worth patching for affected deployments, but low real-world urgency given authentication is required, impact is confidentiality-only, and the product footprint is small.

Exploit ScenarioDerived

An attacker who holds a valid low-privilege account on a grimmory (self-hosted ebook/Kobo-sync) instance sends a request to the Kobo download endpoint while substituting another user's bookId value. Because streamFileToResponse does not verify that the requesting user is authorized for that bookId, the server streams the arbitrary book file back. A public POC is referenced via the VulDB entry and the linked GitHub issue #2431.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 19, 2026

An authenticated low-privilege user of the Grimmory (BookLore) self-hosted library service can read book files belonging to other accounts by tampering with the bookId argument passed to the Kobo download endpoint handled by KoboController.streamFileToResponse, an IDOR-style authorization bypass (CWE-639) rated CVSS 5.3 with confidentiality-only impact. Publicly available exploit code exists, and although upstream issue #2431 is closed as completed, its only comment states the report 'has already been reported elsewhere' with no fixing commit or pull request identified there. No KEV listing or independent evidence of active exploitation was found, so real-world risk depends on whether the instance is network-reachable to an attacker who already holds valid credentials and whether the Kobo download feature is exposed.

RemediationAI

No vendor-released patch was identified at time of analysis: upstream issue #2431 is closed as completed, but its sole comment states the report 'has already been reported elsewhere' and no fixing commit, pull request, or tagged release is linked, so version 3.3.3/3.4.1 and earlier should be treated as vulnerable until a fixed release is published. Until a fix ships, the most effective compensating control is to add an ownership check in streamFileToResponse so that the requested bookId is validated against the authenticated user's library before any bytes are streamed, though this requires maintaining a local fork or patch and re-testing on every upstream update. If the Kobo sync/download feature is not required, disabling or removing that endpoint (including blocking its URL path at the reverse proxy) eliminates the exposure but breaks Kobo e-reader synchronization for legitimate users. Alternatively, restrict the Kobo endpoint to trusted network ranges or a VPN so that only verified clients can reach it, accepting the trade-off that remote Kobo devices outside that network will no longer sync, and where the application supports it, enable or verify audit logging on the download endpoint to detect enumeration of other users' bookId values. Because exploitation requires only a valid low-privilege account, tighten account provisioning and audit existing accounts for unauthorized or over-permissioned users, and monitor the VulDB record and the GitHub issue #2431 for a patched release before restoring unrestricted access.

Affected VersionsENISA

grimmory 3.4.0
grimmory 3.3.3
grimmory 3.3.0
grimmory 3.3.2
grimmory 3.4.1
grimmory 3.3.1

Affected Packages

euvd grimmory no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw is an object-reference authorization failure (CWE-639) in a Java/Spring-style HTTP controller, backend/src/main/java/org/booklore/controller/KoboController.java, method streamFileToResponse, which serves book content to Kobo e-reader clients. The bookId parameter is used directly to locate and stream a file without verifying that the authenticated caller owns or is entitled to that book, so changing the identifier returns another user's files. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P) confirms a network-reachable, low-complexity, unauthenticated-user-interaction-free attack that requires a valid low-privilege account (PR:L) and yields only limited confidentiality loss, with the E:P metric indicating a proof-of-concept exploit is publicly available; the independent assessment concurs with CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N. The affected-version CPE cpe:2.3:a:grimmory-tools:grimmory:*:*:*:*:*:*:*:* is a wildcard indicating all releases are presumed affected, and the description scopes the issue to Grimmory up to 3.3.3 and 3.4.1. No integrity or availability impact, privilege escalation beyond the already-held account, or scope change is indicated, so this is data exposure of library files rather than code execution or account takeover.

Know when Grimmory gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulDB) PRIMARY 2.1 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N/E:P
vuln.today AI 4.3 MEDIUM

Network-reachable IDOR requiring a valid low-privilege account (PR:L, AC:L, UI:N); impact is reading arbitrary book files, so C:L with no integrity or availability effect.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

3
Severity Changed
Sep 19, 2026 - 23:22 NVD
MEDIUM LOW
CVSS changed
Sep 19, 2026 - 23:22 NVD
5.3 (MEDIUM) 2.1 (LOW)
CVE Published
Sep 19, 2026 - 22:15 cve.org
MEDIUM 5.3

DescriptionCVE.org

A vulnerability was detected in grimmory-tools grimmory up to 3.3.3/3.4.1. Affected by this vulnerability is the function streamFileToResponse of the file backend/src/main/java/org/booklore/controller/KoboController.java of the component Download Endpoint. Performing a manipulation of the argument bookId results in authorization bypass. The attack may be initiated remotely. The exploit is now public and may be used. Issue #2431 is closed as completed, but its only comment states that the issue “has already been reported elsewhere.” No fixing commit or pull request is identified there.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
niche self-hosted ebook/Kobo-sync manager, minimal enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy