Home
» GitHub Advisories
» GHSA-pj98-2xf6-cff5
Description
paraparser in ReportLab before 3.5.31 allows remote code execution because start_unichar in paraparser.py evaluates untrusted user input in a unichar element in a crafted XML document with '<unichar code="' followed by arbitrary Python code, a similar issue to CVE-2019-17626.
Basic information
Type
reviewed
Severity
critical
Advisory on GitHub
Open advisory ↗
Repository advisory
—
Source code
Browse source ↗
Published (advisory)
2023-09-20 15:30:51 UTC
Updated
2024-04-28 06:31:25 UTC
GitHub reviewed
2023-09-21 16:57:08 UTC
NVD published
2023-09-20
EPSS Score
Score
Percentile
6.40%
90.85%
CVSS Scores
Base score
Version
Severity
Vector
9.8
3.1
—
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:N)
No account or special rights needed—anonymous or random user is enough.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:H)
Serious risk that confidential data gets exposed in a big way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:H)
Could take the service down hard or make it unusable for people who depend on it.
CWEs
CWE id
Name
CWE-91
XML Injection (aka Blind XPath Injection)
Affected packages (1)
Vulnerable version ranges and first patched releases as published by GitHub.
Ecosystem
Package
Vulnerable range
First patched
Vulnerable functions
pip
reportlab
< 3.5.31
3.5.31
—
cvelogic
Threat Intelligence