CVE-2021-28957
An XSS vulnerability was discovered in python-lxml's clean module versions before 4.6.3. When disabling the safe_attrs_only and forms arguments, the Cleaner class does not remove the formaction
02 Description
An XSS vulnerability was discovered in python-lxml's clean module versions before 4.6.3. When disabling the safe_attrs_only and forms arguments, the Cleaner class does not remove the formaction
03 Exploitation and scoring
- Exploitation
- Assessed, none found. CISA's assessment recorded neither public exploit code nor evidence of exploitation when it was made.
- SSVC decision
- ExploitationnoneCISA recorded no public exploit code and no evidence of exploitation.
- AutomatablenoAt least one step from reconnaissance to exploitation cannot be reliably automated.
- Technical ImpactpartialSuccessful exploitation gives limited control of the vulnerable component.
- EPSS probability
- 4.03% probability of exploitation activity in the next 30 days.
- EPSS percentile
- Equal to or higher than the score of 90.3% of scored records. A rank, not a probability.
- NVD base score
- 6.1 (CVSS v3.x), scored by the NVD independently of the CNA.
- NVD CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- NVD analysis status
- Modified. NVD last modified this record on 2026-06-17.
- Red Hat severity
- Moderate. Red Hat's rating for its own products, not a CVSS rating.
Exploit-prediction scores from FIRST. Independent scoring and analysis status from the NVD. Vendor severity from Red Hat. Exploitation assessment and catalog membership from CISA.
04 Metadata
- Published
- 2021-03-21 04:39Z5 YR AGO
- Last updated
- 2025-12-17 21:31Z10 MO AGO
- Reserved
- 2021-03-21
- Assigning CNA
- mitre
- Record state
- PUBLISHED
- Severity
- Medium (CVSS 6.1)
- CNA CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
- Weaknesses
- CWE-79Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')Base
- Data version
- 5.2
- Document digest
- 7499d28aa430b7341061e730624aa6b160b7fb39eabe5a7ee4999b259a508f72
05 Affected products
06 References
- bugs.launchpad.nethttps://bugs.launchpad.net/lxml/+bug/1888153
- github.comhttps://github.com/lxml/lxml/pull/316/commits/10ec1b4e9f93713513a3264ed6158af22492f270
- lists.debian.org[debian-lts-announce] 20210324 [SECURITY] [DLA 2606-1] lxml security updatehttps://lists.debian.org/debian-lts-announce/2021/03/msg00031.html
- www.debian.orgDSA-4880https://www.debian.org/security/2021/dsa-4880
- lists.fedoraproject.orgFEDORA-2021-28723f9670https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/3C2R44VDUY7FJVMAVRZ2WY7XYL4SVN45/
- lists.fedoraproject.orgFEDORA-2021-4cdb0f68c7https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/XXN3QPWCTQVOGW4BMWV3AUUZZ4NRZNSQ/
- www.oracle.comhttps://www.oracle.com/security-alerts/cpuoct2021.html
- github.comhttps://github.com/lxml/lxml/commit/a5f9cb52079dc57477c460dbe6ba0f775e14a999
- security.netapp.comhttps://security.netapp.com/advisory/ntap-20210521-0004/
- security.gentoo.orgGLSA-202208-06https://security.gentoo.org/glsa/202208-06
07 Fixed in
AlmaLinux 8
- babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python-nose-docs Fixed
A version is affected if any line below covers it.
- Affected before 1.3.7-31.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.7-31.module_el8.6.0+2781+fed64c13
- python-psycopg2-doc Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python-sqlalchemy-doc Fixed
A version is affected if any line below covers it.
- Affected before 1.3.2-2.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.2-2.module_el8.6.0+2781+fed64c13
- python2-Cython Fixed in 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-PyMySQL Fixed in 0.8.0-10.module_el8.6.0+2781+fed64c13
- python2-attrs Fixed in 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python2-backports Fixed in 1.0-16.module_el8.6.0+2781+fed64c13
- python2-backports-ssl_match_hostname Fixed in 3.5.0.1-12.module_el8.6.0+2781+fed64c13
- python2-bson Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-chardet Fixed in 3.0.4-10.module_el8.6.0+2781+fed64c13
- python2-coverage Fixed in 4.5.1-4.module_el8.6.0+2781+fed64c13
- python2-dns Fixed in 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-docs Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docs-info Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docutils Fixed in 0.14-12.module_el8.6.0+2781+fed64c13
- python2-funcsigs Fixed in 1.0.2-13.module_el8.6.0+2781+fed64c13
- python2-idna Fixed in 2.5-7.module_el8.6.0+2781+fed64c13
- python2-ipaddress Fixed in 1.0.18-6.module_el8.6.0+2781+fed64c13
- python2-jinja2 Fixed in 2.10-9.module_el8.6.0+2781+fed64c13
- python2-markupsafe Fixed in 0.23-19.module_el8.6.0+2781+fed64c13
- python2-mock Fixed in 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-nose Fixed in 1.3.7-31.module_el8.6.0+2781+fed64c13
- python2-numpy Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-doc Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-f2py Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-pluggy Fixed in 0.6.0-8.module_el8.6.0+2781+fed64c13
- python2-psycopg2 Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-debug Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-tests Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-py Fixed in 1.5.3-6.module_el8.6.0+2781+fed64c13
- python2-pygments Fixed in 2.2.0-22.module_el8.6.0+2781+fed64c13
- python2-pymongo Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-pymongo-gridfs Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-pysocks Fixed in 1.6.8-6.module_el8.6.0+2781+fed64c13
- python2-pytest Fixed in 3.4.2-13.module_el8.6.0+2781+fed64c13
- python2-pytest-mock Fixed in 1.9.0-4.module_el8.6.0+2781+fed64c13
- python2-pytz Fixed in 2017.2-12.module_el8.6.0+2781+fed64c13
- python2-pyyaml Fixed in 3.12-16.module_el8.6.0+2781+fed64c13
89 further packages in AlmaLinux 8 not shown (first 40 listed).
Source: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
Arch Linux
- python-lxml Fixed in 4.6.3-1
Source: Arch Linux Security Tracker, the Arch Linux security team. Reformatted by exploit.cc.
CloudLinux 8
- babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python-nose-docs Fixed
A version is affected if any line below covers it.
- Affected before 1.3.7-31.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.7-31.module_el8.6.0+2781+fed64c13
- python-psycopg2-doc Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python-sqlalchemy-doc Fixed
A version is affected if any line below covers it.
- Affected before 1.3.2-2.module_el8.5.0+2569+5c5719bc
- Affected before 1.3.2-2.module_el8.6.0+2781+fed64c13
- python2-Cython Fixed in 0.28.1-7.module_el8.6.0+2781+fed64c13
- python2-PyMySQL Fixed in 0.8.0-10.module_el8.6.0+2781+fed64c13
- python2-attrs Fixed in 17.4.0-10.module_el8.6.0+2781+fed64c13
- python2-babel Fixed in 2.5.1-10.module_el8.6.0+2781+fed64c13
- python2-backports Fixed in 1.0-16.module_el8.6.0+2781+fed64c13
- python2-backports-ssl_match_hostname Fixed in 3.5.0.1-12.module_el8.6.0+2781+fed64c13
- python2-bson Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-chardet Fixed in 3.0.4-10.module_el8.6.0+2781+fed64c13
- python2-coverage Fixed in 4.5.1-4.module_el8.6.0+2781+fed64c13
- python2-dns Fixed in 1.15.0-10.module_el8.6.0+2781+fed64c13
- python2-docs Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docs-info Fixed in 2.7.16-2.module_el8.6.0+2781+fed64c13
- python2-docutils Fixed in 0.14-12.module_el8.6.0+2781+fed64c13
- python2-funcsigs Fixed in 1.0.2-13.module_el8.6.0+2781+fed64c13
- python2-idna Fixed in 2.5-7.module_el8.6.0+2781+fed64c13
- python2-ipaddress Fixed in 1.0.18-6.module_el8.6.0+2781+fed64c13
- python2-jinja2 Fixed in 2.10-9.module_el8.6.0+2781+fed64c13
- python2-markupsafe Fixed in 0.23-19.module_el8.6.0+2781+fed64c13
- python2-mock Fixed in 2.0.0-13.module_el8.6.0+2781+fed64c13
- python2-nose Fixed in 1.3.7-31.module_el8.6.0+2781+fed64c13
- python2-numpy Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-doc Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-numpy-f2py Fixed in 1:1.14.2-16.module_el8.6.0+2781+fed64c13
- python2-pluggy Fixed in 0.6.0-8.module_el8.6.0+2781+fed64c13
- python2-psycopg2 Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-debug Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-psycopg2-tests Fixed in 2.7.5-7.module_el8.6.0+2781+fed64c13
- python2-py Fixed in 1.5.3-6.module_el8.6.0+2781+fed64c13
- python2-pygments Fixed in 2.2.0-22.module_el8.6.0+2781+fed64c13
- python2-pymongo Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-pymongo-gridfs Fixed in 3.7.0-1.module_el8.6.0+2781+fed64c13
- python2-pysocks Fixed in 1.6.8-6.module_el8.6.0+2781+fed64c13
- python2-pytest Fixed in 3.4.2-13.module_el8.6.0+2781+fed64c13
- python2-pytest-mock Fixed in 1.9.0-4.module_el8.6.0+2781+fed64c13
- python2-pytz Fixed in 2017.2-12.module_el8.6.0+2781+fed64c13
- python2-pyyaml Fixed in 3.12-16.module_el8.6.0+2781+fed64c13
89 further packages in CloudLinux 8 not shown (first 40 listed).
Derived from AlmaLinux 8. Partial coverage: only packages taken from AlmaLinux 8 are listed.
Source: CloudLinux errata, CloudLinux Inc. Derived from: AlmaLinux, AlmaLinux OS. Copyright (c) 2023 AlmaLinux OS. Licensed under MIT License. Received through OSV.dev. Reformatted by exploit.cc.
Debian 12
- lxml Fixed in 4.6.3-1
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Debian 13
- lxml Fixed in 4.6.3-1
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Debian 14
- lxml Fixed in 4.6.3-1
Source: Debian Security Tracker, the Debian security team. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu 16.04 LTS
- lxml Fixed in 3.5.0-1ubuntu0.4
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu 18.04 LTS
- lxml Fixed in 4.2.1-1ubuntu0.4
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu 20.04 LTS
- lxml Fixed in 4.5.0-1ubuntu0.3
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
Ubuntu Pro 14.04 LTS
- lxml Fixed in 3.3.3-1ubuntu0.2+esm3Available with Ubuntu Pro (Infra-only): https://ubuntu.com/pro
Source: Ubuntu, Canonical Ltd. Licensed under CC BY-SA 4.0. Received through OSV.dev. Reformatted by exploit.cc.
A release or ecosystem missing from this list has no record here. It may be unaffected or not covered by the source. Source notices and licences.