← Back to overview

BabelDOC, a document translation tool, contains a critical vulnerability in its vendored PDF parser (babeldoc/pdfminer/cmapdb.py) prior to version 0.6.3. The vulnerability allows arbitrary Python code execution via unsafe deserialization of pickle data when CMapDB._load_data() loads CMap files. Attackers can craft malicious PDF files with controlled Encoding or CMapName values, or embed PostScript usecmap operators, to manipulate file paths. The _normalize_cmap_name() function only strips a leading slash, leaving path traversal sequences intact. Combined with os.path.join() behavior, absolute paths or traversal sequences can escape trusted CMap directories and load attacker-controlled .pickle.gz files. This triggers pickle.loads() to execute arbitrary Python code with the privileges of the BabelDOC process. The vulnerability is fixed in version 0.6.3.

Affected products

  • BabelDOC < 0.6.3

Related CVE's

  • CVE-2026-54071

Categories

  • Supply Chain & Dependencies
  • Web Technologies
  • Zero-Day Vulnerabilities