---
id: CVE-2026-45272
title: >-
  MyBooks is an enhanced and easy-to-use personal ebook management web server
  also known as Talebook
summary: >-
  MyBooks is an enhanced and easy-to-use personal ebook management web server
  also known as Talebook. In 3.41.2 and earlier, the AdminSettings.post handler
  in webserver/handlers/admin.py accepts SOCIAL_AUTH key names without
  validating quo…
severity: critical
cvss: 9.4
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H'
cwe:
  - CWE-94
  - CWE-829
vendor: PoxenStudio
product: talebook
affected:
  - talebook < 3.42.0
published: '2026-08-19'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:13:25.910'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-45272'
references:
  - url: >-
      https://github.com/PoxenStudio/mybooks/commit/a1780c98b00566af7da2fc099fe38500efc02e92
    label: security-advisories@github.com
  - url: 'https://github.com/PoxenStudio/mybooks/releases/tag/3.42.0'
    label: security-advisories@github.com
  - url: >-
      https://github.com/PoxenStudio/mybooks/security/advisories/GHSA-4wfr-9gcv-j638
    label: security-advisories@github.com
tags:
  - nvd
  - cve.org
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-08-19T18:16:13.742753Z'
cvssSource: cna
ingestedAt: '2026-09-10T19:26:15.576Z'
epss: 0.00367
epssPercentile: 0.30426
---

## Overview

MyBooks is an enhanced and easy-to-use personal ebook management web server also known as Talebook. In 3.41.2 and earlier, the AdminSettings.post handler in webserver/handlers/admin.py accepts SOCIAL_AUTH key names without validating quotes or newline characters, and SettingsLoader.dumpfile in webserver/loader.py concatenates those names into the generated Python source file auto.py without escaping them. An administrator can submit a crafted SOCIAL_AUTH key name that closes the settings dictionary and injects arbitrary Python statements. The application later executes those statements because SettingsLoader.loadfile imports auto.py as a module, and setting autoreload to true invokes restart_async so a process supervisor restarts the service and triggers the import. Successful exploitation executes commands with the privileges of the application service account and can disclose data, modify files, establish persistence, or disrupt the service. Related authorization and registration vulnerabilities can reduce the effective privilege requirement in a chained attack, but the standalone vulnerability requires administrator access. This issue is fixed in version 3.42.0.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
