Skip to main content

MyBooks CVE-2026-45273

| EUVDEUVD-2026-62484 HIGH
Missing Authorization (CWE-862)
2026-08-19 GitHub_M
8.7
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Register or obtain any user account
  2. Delivery
    Authenticate using inactive-account bypass in process_auth_header
  3. Exploit
    POST crafted payload to /api/admin/settings
  4. Execution
    Overwrite SMTP credentials, OAuth secrets, or storage paths
  5. Persist
    Exfiltrate secrets or inject malicious config key for code execution
  6. Impact
    Achieve service disruption or persistent access

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the attacker to possess a session authenticated against the MyBooks instance - either a fully active low-privilege account or a registered-but-unactivated account, because process_auth_header does not check the user.active flag. On instances where ALLOW_REGISTER is true (or not explicitly set to false), an attacker can self-register and exploit the authentication bypass without any prior credential. On instances with registration disabled, the attacker must hold at minimum a valid low-privilege user credential. The vulnerable endpoint is specifically POST /api/admin/settings; read-only access (GET) is correctly restricted by the admin_user check. Exploitation is limited to MyBooks/Talebook versions 3.41.2 and earlier. Instances with the POST endpoint blocked at a reverse proxy, or with no external-facing user registration and no low-privilege users, have substantially reduced exposure.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H) scores 8.7 and accurately reflects the threat: network-reachable, low complexity, requiring only low-privilege authentication, with high impact across confidentiality, integrity, and availability of the vulnerable system. The secondary authentication-bypass flaw (inactive accounts accepted by process_auth_header) effectively reduces the privilege requirement in practice - on instances with open registration, an attacker needs no prior relationship with the target to obtain a usable session. Scope is confined to the application itself (SC/SI/SA:N), with no lateral movement beyond the web server's own configuration. No EPSS data was provided in the intelligence, and the vulnerability is not listed in CISA KEV, so broad automated exploitation has not been confirmed. However, the low attack complexity and high configuration-write impact make this a realistic priority for any internet-exposed instance: an attacker who overwrites SMTP or OAuth credentials obtains secrets, and the loader.py fix confirms a path toward code injection via configuration key injection. Risk is elevated for deployments with open user registration enabled, and reduced for instances behind authenticated reverse proxies or with registration disabled.

Exploit ScenarioDerived

An attacker visits an internet-exposed MyBooks instance, registers a new account (if registration is enabled), and immediately uses that unactivated account to authenticate - bypassing the active-flag check in process_auth_header. The attacker then POSTs a crafted JSON body to /api/admin/settings, overwriting SMTP server credentials or OAuth client secrets, which are then readable through normal configuration access paths. With control over configuration values, the attacker may also inject malicious strings into configuration key names to achieve code execution via the unpatched loader.py key-formatting flaw present in versions prior to 3.42.0. No public POC has been identified, but the attack requires only two HTTP requests and no specialized tooling.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Aug 19, 2026

Missing authorization in MyBooks (Talebook) 3.41.2 and earlier allows any authenticated low-privilege user - including holders of unactivated accounts - to overwrite server-side configuration through the POST /api/admin/settings endpoint, exposing SMTP credentials, OAuth client secrets, storage paths, and security feature flags to unauthorized modification. Two compounding flaws are present: the AdminSettings.post handler in webserver/handlers/admin.py applies only the authentication decorator without the admin_user check enforced by its GET counterpart, and process_auth_header in webserver/handlers/base.py accepts sessions for registered-but-unactivated accounts by not verifying the user.active flag. No active exploitation has been confirmed (not in CISA KEV), but the fix is available in version 3.42.0.

RemediationAI

Upgrade to MyBooks (Talebook) version 3.42.0, available at https://github.com/PoxenStudio/mybooks/releases/tag/3.42.0, which resolves all three fix points: the missing admin_user check in AdminSettings.post, the missing active-flag check in process_auth_header, and the configuration key injection surface in loader.py. If immediate upgrade is not feasible, apply compensating controls in the following priority order: first, block external access to POST /api/admin/settings at the reverse proxy or firewall layer, noting that this does not fix the authentication bypass itself; second, disable open user registration (set ALLOW_REGISTER to false in server configuration), which prevents self-registration of unactivated accounts and eliminates the lowest-privilege attack path, though it does not help if low-privilege accounts already exist; third, audit all existing user accounts and deactivate or remove any unrecognized registrations. Note that none of these workarounds address the root authorization flaw - patching to 3.42.0 is the only complete remediation.

Affected VersionsENISA

talebook < 3.42.0

Affected Packages

euvd talebook fix: 3.42.0

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

MyBooks, also distributed as Talebook (CPE: cpe:2.3:a:poxenstudio:talebook:*:*:*:*:*:*:*:*), is a Python-based self-hosted ebook management web server. The root cause is CWE-862 (Missing Authorization) manifesting in two handler files. In webserver/handlers/admin.py, the AdminSettings class applies the auth decorator to both GET and POST routes, but the GET handler explicitly checks self.admin_user while the POST handler does not, creating an asymmetric authorization gate. In webserver/handlers/base.py, the process_auth_header function validates credentials against the database but skips the user.active status check, allowing accounts in a pending/unactivated state to produce authenticated sessions. The fix commit (a1780c98) also patches webserver/loader.py to use repr(k) for configuration key formatting instead of bare string interpolation, closing a secondary code-injection surface through attacker-controlled key names. The three-part fix - admin check, active-flag check, and key sanitization - confirms that exploitation could chain into code injection beyond pure credential theft.

Know when Talebook 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 (GitHub_M) PRIMARY 8.7 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 8.8 HIGH

Network-reachable POST endpoint; low privilege reflects self-registerable (even unactivated) account access; no scope change; high C/I/A for credential theft, config overwrite, and service disruption.

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

2
Patch available
Aug 19, 2026 - 16:17 EUVD
CVE Published
Aug 19, 2026 - 14:37 cve.org
HIGH 8.7

DescriptionCVE.org

MyBooks is an ebook management web server also known as Talebook. In 3.41.2 and earlier, the AdminSettings.post handler for POST /api/admin/settings in webserver/handlers/admin.py applies the auth decorator but does not check the self.admin_user property, unlike the corresponding GET handler. Any authenticated regular user can therefore overwrite server configuration values including SMTP credentials, OAuth client secrets, storage paths, security feature flags, and autoreload settings. The process_auth_header function in webserver/handlers/base.py also fails to verify the matched account's active flag, allowing a registered but unactivated account to authenticate and reach the vulnerable handler. Exploitation can disclose secrets through configuration access paths, sabotage application behavior, force service restarts, and supply the settings needed for related code-injection attacks. This issue is fixed in version 3.42.0.

Executive ViewAI

Why It Matters

MyBooks (Talebook) 3.41.2 and earlier contains an authorization bypass allowing any authenticated user-including those with minimal privileges or unactivated accounts-to modify critical server configurations such as SMTP settings and OAuth tokens. While no public exploit has been identified at time of analysis, this vulnerability exposes sensitive credentials and could enable attackers to intercept communications, compromise connected cloud services, or disable security protections.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 66% exploitable
Prevalence
Low
niche self-hosted ebook manager, small community adoption
Data Quality
6 sources
Confidence: High

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 HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

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

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

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