lxml up to 4.2.4 javascript URL lxml/html/clean.py cross site scripting

CVSS Meta Temp Score
CVSS is a standardized scoring system to determine possibilities of attacks. The Temp Score considers temporal factors like disclosure, exploit and countermeasures. The unique Meta Score calculates the average score of different sources to provide a normalized scoring system.
Current Exploit Price (≈)
Our analysts are monitoring exploit markets and are in contact with vulnerability brokers. The range indicates the observed or calculated exploit price to be seen on exploit markets. A good indicator to understand the monetary effort required for and the popularity of an attack.
CTI Interest Score
Our Cyber Threat Intelligence team is monitoring different web sites, mailing lists, exploit markets and social media networks. The CTI Interest Score identifies the interest of attackers and the security community for this specific vulnerability in real-time. A high score indicates an elevated risk to be targeted for this vulnerability.
5.4$0-$5k0.00

Summaryinfo

A vulnerability categorized as problematic has been discovered in lxml up to 4.2.4. Affected by this vulnerability is an unknown functionality of the file lxml/html/clean.py of the component javascript URL Handler. The manipulation with the input j a v a s c r i p t: results in cross site scripting. This vulnerability is known as CVE-2018-19787. It is possible to launch the attack remotely. Furthermore, an exploit is available. It is advisable to upgrade the affected component.

Detailsinfo

A vulnerability, which was classified as problematic, was found in lxml up to 4.2.4. Affected is an unknown functionality of the file lxml/html/clean.py of the component javascript URL Handler. The manipulation with the input value j a v a s c r i p t: leads to a cross site scripting vulnerability. CWE is classifying the issue as CWE-79. The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. This is going to have an impact on integrity. CVE summarizes:

An issue was discovered in lxml before 4.2.5. lxml/html/clean.py in the lxml.html.clean module does not remove javascript: URLs that use escaping, allowing a remote attacker to conduct XSS attacks, as demonstrated by "j a v a s c r i p t:" in Internet Explorer. This is a similar issue to CVE-2014-3146.

The bug was discovered 09/09/2018. The weakness was published 12/02/2018 (Website). The advisory is shared for download at github.com. This vulnerability is traded as CVE-2018-19787 since 12/02/2018. It is possible to launch the attack remotely. The exploitation doesn't require any form of authentication. Technical details and a public exploit are known. The MITRE ATT&CK project declares the attack technique as T1059.007.

The exploit is shared for download at securityfocus.com. It is declared as proof-of-concept. The vulnerability was handled as a non-public zero-day exploit for at least 84 days. During that time the estimated underground price was around $0-$5k. The vulnerability scanner Nessus provides a plugin with the ID 119580 (Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS : lxml vulnerability (USN-3841-1)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Ubuntu Local Security Checks and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 176779 (Debian Security Update for lxml (DLA 1604-1)).

Upgrading to version 4.2.5 eliminates this vulnerability. A possible mitigation has been published 2 weeks after the disclosure of the vulnerability.

The vulnerability is also documented in the databases at Tenable (119580), SecurityFocus (BID 67159†) and CERT Bund (WID-SEC-2024-1086). Similar entry is available at VDB-69697. Once again VulDB remains the best source for vulnerability data.

Affected

  • SUSE Linux
  • IBM QRadar SIEM

Productinfo

Name

Version

License

Website

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔍
VulDB Reliability: 🔍

CVSSv3info

VulDB Meta Base Score: 5.7
VulDB Meta Temp Score: 5.4

VulDB Base Score: 5.3
VulDB Temp Score: 4.8
VulDB Vector: 🔍
VulDB Reliability: 🔍

NVD Base Score: 6.1
NVD Vector: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexityAuthenticationConfidentialityIntegrityAvailability
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock
UnlockUnlockUnlockUnlockUnlockUnlock

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍

NVD Base Score: 🔍

Exploitinginfo

Class: Cross site scripting
CWE: CWE-79 / CWE-94 / CWE-74
CAPEC: 🔍
ATT&CK: 🔍

Physical: No
Local: No
Remote: Yes

Availability: 🔍
Access: Public
Status: Proof-of-Concept
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Price Prediction: 🔍
Current Price Estimation: 🔍

0-DayUnlockUnlockUnlockUnlock
TodayUnlockUnlockUnlockUnlock

Nessus ID: 119580
Nessus Name: Ubuntu 14.04 LTS / 16.04 LTS / 18.04 LTS : lxml vulnerability (USN-3841-1)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

Threat Intelligenceinfo

Interest: 🔍
Active Actors: 🔍
Active APT Groups: 🔍

Countermeasuresinfo

Recommended: Upgrade
Status: 🔍

Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍

Upgrade: lxml 4.2.5
Patch: github.com

Timelineinfo

04/15/2014 🔍
09/09/2018 +1608 days 🔍
12/02/2018 +84 days 🔍
12/02/2018 +0 days 🔍
12/02/2018 +0 days 🔍
12/03/2018 +1 days 🔍
12/10/2018 +7 days 🔍
12/11/2018 +1 days 🔍
12/18/2025 +2564 days 🔍

Sourcesinfo

Product: github.com

Advisory: 6be1d081b49c97cfd7b3fbd934a193b668629109
Status: Confirmed

CVE: CVE-2018-19787 (🔍)
GCVE (CVE): GCVE-0-2018-19787
GCVE (VulDB): GCVE-100-127380
SecurityFocus: 67159 - lxml 'clean_html' Function Security Bypass Vulnerability
CERT Bund: WID-SEC-2024-1086 - IBM QRadar SIEM: Mehrere Schwachstellen

scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍

Entryinfo

Created: 12/03/2018 09:07
Updated: 12/18/2025 18:10
Changes: 12/03/2018 09:07 (78), 04/16/2020 17:03 (5), 06/12/2023 14:05 (6), 10/17/2025 01:53 (21), 12/18/2025 18:10 (1)
Complete: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Discussion

No comments yet. Languages: en.

Please log in to comment.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!