CVE-2014-3146 lxml Cross-site Scripting Via Control Characters

Medium 6.1 Published Updated

Remote attackers can execute arbitrary scripts via control characters in link schemes due to incomplete blacklist filtering in the lxml.html.clean module.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2014-3146?

CVE-2014-3146 is a medium-severity cross-site scripting vulnerability in n/a, published on 14 May 2014. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.

Official description

Incomplete blacklist vulnerability in the lxml.html.clean module in lxml before 3.3.5 allows remote attackers to conduct cross-site scripting (XSS) attacks via control characters in the link scheme to the clean_html function.

Weakness: CWE-79

Which versions are affected by CVE-2014-3146?

3 open source packages ship an affected version, including lxml. It affects 1 product.

PackageAffectedFixed in
lxml PyPIAll versions3.3.5
lxml PyPIAll versions3.3.5
lxml PyPIAll versions3.3.5

Products include Lxml Lxml.

How do I fix CVE-2014-3146?

Upgrade lxml to 3.3.5 or later.

Escape output for the context it lands in and set a strict Content Security Policy. Upgrading the affected component is the real fix. More about Cross-site scripting.

Is CVE-2014-3146 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2014-3146 exists.

Public exploit code: 1 Exploit-DB entry.

Sources

Also known as DEBIAN-CVE-2014-3146, DLA-0009-1, DSA-2941-1, GHSA-57qw-cc2g-pv5p, MGASA-2014-0218, PYSEC-2014-9 and 2 more.

Is CVE-2014-3146 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free