CVE Catalog

CVE-2026-54071

HighCVSS 7.8
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.14%

4th percentile - higher than 4% of all known CVEs

Summary

BabelDOC before version 0.6.3 has a vendored PDF parser in babeldoc/pdfminer/cmapdb.py that deserializes untrusted pickle data when CMapDB._load_data() loads CMap files. PDF-controlled Encoding or CMapName values and embedded PostScript usecmap operators can reach this sink after path separators are decoded, while _normalize_cmap_name() removes only a leading slash.

Risk Assessment

An attacker can use absolute paths or traversal sequences to select an attacker-writable .pickle.gz file and cause arbitrary Python code execution with the privileges of the BabelDOC process.

Recommendation

Upgrade BabelDOC to version 0.6.3 or later, which includes the fix.

Related vulnerabilities

Original NVD description (English source)

BabelDOC is a document translation tool. Prior to 0.6.3, BabelDOC's vendored PDF parser in babeldoc/pdfminer/cmapdb.py deserializes untrusted pickle data when CMapDB._load_data() loads CMap files. PDF-controlled Encoding or CMapName values and embedded PostScript usecmap operators can reach this sink after path separators are decoded, while _normalize_cmap_name() removes only a leading slash. Absolute paths or traversal sequences can escape the trusted CMap directories through os.path.join(), select an attacker-writable .pickle.gz file, and cause pickle.loads() to execute arbitrary Python code with the privileges of the BabelDOC process. This issue is fixed in version 0.6.3.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS