CVE-2019-19450

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…

published September 20, 2023

CVSS
—
EPSS
6%
Percentile
93.3
In the wild
Unconfirmed
What it is

⚠️ A little XML can go a long way! The paraparser in ReportLab versions before 3.5.31 allows untrusted user input to execute arbitrary Python code — a crafty script sneaking through the unichar element! 🔥 Think of it like a recipe where someone can slip in their own ingredient list — if the kitchen blindly follows it, who knows what might end up on your plate? In this case, the XML is the recipe, and the code is the unverified ingredient that can ruin the dish! An attacker could exploit this vulnerability to run unauthorized Python code on the server. This could lead to data breaches, unauthorized access, or even complete control over the affected system. Absolutely devastating if leveraged!

Put simply

Think of it like a recipe where someone can slip in their own ingredient list — if the kitchen blindly follows it, who knows what might end up on your plate? In this case, the XML is the recipe, and the code is the unverified ingredient that can ruin the dish! This vulnerability exists in ReportLab's paraparser, where the `start_unichar` function evaluates user input in an XML document without proper validation. This oversight allows attackers to inject malicious Python code via the `<unichar>` element.

What to do

An attacker could exploit this vulnerability to run unauthorized Python code on the server. This could lead to data breaches, unauthorized access, or even complete control over the affected system. Absolutely devastating if leveraged! Upgrade ReportLab to version 3.5.31 or later immediately to close this hole. Review your XML handling practices to ensure no user input is executed without strict validation. Auditing any existing XML documents for unsafe entries is also a smart move! You've got this! By taking these steps, you'll be well on your way to securing your applications and keeping everything running smoothly. 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.05978 · 93.3th percentile
Published
2023-09-20T00:00Z
EPSS history
Timeline
  • 20 SEP 00:00Z
    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…
    cvelistv5