Skip to content

Update dependency lxml to v4.9.1 [SECURITY] #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Oct 19, 2021

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
lxml (source, changelog) ==4.5.2 -> ==4.9.1 age adoption passing confidence

GitHub Vulnerability Alerts

CVE-2020-27783

A XSS vulnerability was discovered in python-lxml's clean module. The module's parser didn't properly imitate browsers, which caused different behaviors between the sanitizer and the user's page. A remote attacker could exploit this flaw to run arbitrary HTML/JS code.

CVE-2021-28957

An XSS vulnerability was discovered in the python lxml clean module versions before 4.6.3. When disabling the safe_attrs_only and forms arguments, the Cleaner class does not remove the formaction attribute allowing for JS to bypass the sanitizer. A remote attacker could exploit this flaw to run arbitrary JS code on users who interact with incorrectly sanitized HTML. This issue is patched in lxml 4.6.3.

CVE-2021-43818

Impact

The HTML Cleaner in lxml.html lets certain crafted script content pass through, as well as script content in SVG files embedded using data URIs.

Users that employ the HTML cleaner in a security relevant context should upgrade to lxml 4.6.5.

Patches

The issue has been resolved in lxml 4.6.5.

Workarounds

None.

References

The issues are tracked under the report IDs GHSL-2021-1037 and GHSL-2021-1038.

CVE-2022-2309

NULL Pointer Dereference allows attackers to cause a denial of service (or application crash). This only applies when lxml is used together with libxml2 2.9.10 through 2.9.14. libxml2 2.9.9 and earlier are not affected. It allows triggering crashes through forged input data, given a vulnerable code sequence in the application. The vulnerability is caused by the iterwalk function (also used by the canonicalize function). Such code shouldn't be in wide-spread use, given that parsing + iterwalk would usually be replaced with the more efficient iterparse function. However, an XML converter that serialises to C14N would also be vulnerable, for example, and there are legitimate use cases for this code sequence. If untrusted input is received (also remotely) and processed via iterwalk function, a crash can be triggered.


Release Notes

lxml/lxml (lxml)

v4.9.1

Compare Source

==================

Bugs fixed

  • A crash was resolved when using iterwalk() (or canonicalize())
    after parsing certain incorrect input. Note that iterwalk() can crash
    on valid input parsed with the same parser after failing to parse the
    incorrect input.

v4.9.0

Compare Source

==================

Bugs fixed

  • GH#341: The mixin inheritance order in lxml.html was corrected.
    Patch by xmo-odoo.

Other changes

  • Built with Cython 0.29.30 to adapt to changes in Python 3.11 and 3.12.

  • Wheels include zlib 1.2.12, libxml2 2.9.14 and libxslt 1.1.35
    (libxml2 2.9.12+ and libxslt 1.1.34 on Windows).

  • GH#343: Windows-AArch64 build support in Visual Studio.
    Patch by Steve Dower.

v4.8.0

Compare Source

==================

Features added

  • GH#337: Path-like objects are now supported throughout the API instead of just strings.
    Patch by Henning Janssen.

  • The ElementMaker now supports QName values as tags, which always override
    the default namespace of the factory.

Bugs fixed

  • GH#338: In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in
    lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively.
    Patch by Tobias Deiminger.

Other changes

  • Built with Cython 0.29.28.

v4.7.1

Compare Source

==================

Features added

  • Chunked Unicode string parsing via parser.feed() now encodes the input data
    to the native UTF-8 encoding directly, instead of going through Py_UNICODE /
    wchar_t encoding first, which previously required duplicate recoding in most cases.

Bugs fixed

  • The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3.
    See https://mail.python.org/archives/list/[email protected]/thread/6ZFBHFOVHOS5GFDOAMPCT6HM5HZPWQ4Q/

  • lxml.objectify previously accepted non-XML numbers with underscores (like "1_000")
    as integers or float values in Python 3.6 and later. It now adheres to the number
    format of the XML spec again.

  • LP#1939031: Static wheels of lxml now contain the header files of zlib and libiconv
    (in addition to the already provided headers of libxml2/libxslt/libexslt).

Other changes

  • Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows).

v4.6.5

Compare Source

==================

Bugs fixed

  • A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script
    content through SVG images (CVE-2021-43818).

  • A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script
    content through CSS imports and other crafted constructs (CVE-2021-43818).

v4.6.4

Compare Source

==================

Features added

  • GH#317: A new property system_url was added to DTD entities.
    Patch by Thirdegree.

  • GH#314: The STATIC_* variables in setup.py can now be passed via env vars.
    Patch by Isaac Jurado.

v4.6.3

Compare Source

==================

Bugs fixed

  • A vulnerability (CVE-2021-28957) was discovered in the HTML Cleaner by Kevin Chung,
    which allowed JavaScript to pass through. The cleaner now removes the HTML5
    formaction attribute.

v4.6.2

Compare Source

==================

Bugs fixed

  • A vulnerability (CVE-2020-27783) was discovered in the HTML Cleaner by Yaniv Nizry,
    which allowed JavaScript to pass through. The cleaner now removes more sneaky
    "style" content.

v4.6.1

Compare Source

==================

Bugs fixed

  • A vulnerability was discovered in the HTML Cleaner by Yaniv Nizry, which allowed
    JavaScript to pass through. The cleaner now removes more sneaky "style" content.

v4.6.0

Compare Source

==================

Features added

  • GH#310: lxml.html.InputGetter supports __len__() to count the number of input fields.
    Patch by Aidan Woolley.

  • lxml.html.InputGetter has a new .items() method to ease processing all input fields.

  • lxml.html.InputGetter.keys() now returns the field names in document order.

  • GH-309: The API documentation is now generated using sphinx-apidoc.
    Patch by Chris Mayo.

Bugs fixed

  • LP#1869455: C14N 2.0 serialisation failed for unprefixed attributes
    when a default namespace was defined.

  • TreeBuilder.close() raised AssertionError in some error cases where it
    should have raised XMLSyntaxError. It now raises a combined exception to
    keep up backwards compatibility, while switching to XMLSyntaxError as an
    interface.


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/pypi-lxml-vulnerability branch from 9c45598 to 0f36cee Compare March 7, 2022 12:21
@renovate renovate bot changed the title Update dependency lxml to v4.6.3 [SECURITY] Update dependency lxml to v4.6.5 [SECURITY] Mar 7, 2022
@renovate renovate bot force-pushed the renovate/pypi-lxml-vulnerability branch from 0f36cee to fbd1d45 Compare September 25, 2022 12:44
@renovate renovate bot changed the title Update dependency lxml to v4.6.5 [SECURITY] Update dependency lxml to v4.9.1 [SECURITY] Sep 25, 2022
Copy link

sonarqubecloud bot commented Mar 8, 2024

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
No data about Duplication

See analysis details on SonarCloud

@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Jan 23, 2025
@renovate renovate bot closed this Jan 23, 2025
@renovate renovate bot deleted the renovate/pypi-lxml-vulnerability branch January 23, 2025 13:30
@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Update dependency lxml to v4.9.1 [SECURITY] Jan 23, 2025
@renovate renovate bot reopened this Jan 23, 2025
@renovate renovate bot force-pushed the renovate/pypi-lxml-vulnerability branch from 0c2aa38 to fbd1d45 Compare January 23, 2025 16:45
@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Jan 28, 2025
@renovate renovate bot closed this Jan 28, 2025
@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Update dependency lxml to v4.9.1 [SECURITY] Jan 30, 2025
@renovate renovate bot reopened this Jan 30, 2025
@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Mar 10, 2025
@renovate renovate bot closed this Mar 10, 2025
@renovate renovate bot changed the title Update dependency lxml to v4.9.1 [SECURITY] - autoclosed Update dependency lxml to v4.9.1 [SECURITY] Mar 11, 2025
@renovate renovate bot reopened this Mar 11, 2025
@renovate renovate bot force-pushed the renovate/pypi-lxml-vulnerability branch from 4d2f006 to fbd1d45 Compare March 11, 2025 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants