Skip to content

Update dependency lxml to v6 [SECURITY]#269

Open
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/pypi-lxml-vulnerability
Open

Update dependency lxml to v6 [SECURITY]#269
renovate[bot] wants to merge 1 commit into
masterfrom
renovate/pypi-lxml-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
lxml (source, changelog) ^4.9.1^6.0.0 age confidence

lxml: Default configuration of iterparse() and ETCompatXMLParser() allows XXE to local files

CVE-2026-41066 / GHSA-vfmq-68hx-4jfw

More information

Details

Impact

Using either of the two parsers in the default configuration (with resolve_entities=True) allows untrusted XML input to read local files.

Patches

lxml 6.1.0 changes the default to resolve_entities='internal', thus disallowing local file access by default.

Workarounds

Setting the resolve_entities option explicitly to resolve_entities='internal' or resolve_entities=False disables the local file access.

Resources

Original report: https://bugs.launchpad.net/lxml/+bug/2146291

The default option was changed to resolve_entities='internal' for the normal XML and HTML parsers in lxml 5.0. The default was not changed for iterparse() and ETCompatXMLParser() at the time. lxml 6.1 makes the safe option the default for all parsers.

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • 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 commented Apr 21, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: poetry.lock
Updating dependencies
Resolving dependencies...

Creating virtualenv slowapi--wDambLS-py3.14 in /home/ubuntu/.cache/pypoetry/virtualenvs

The current project's Python requirement (>=3.7,<4.0) is not compatible with some of the required packages Python requirement:
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8
  - lxml requires Python >=3.8, so it will not be satisfied for Python >=3.7,<3.8

Because no versions of lxml match >6.0.0,<6.0.1 || >6.0.1,<6.0.2 || >6.0.2,<6.0.3 || >6.0.3,<6.0.4 || >6.0.4,<6.1.0 || >6.1.0,<6.1.1 || >6.1.1,<7.0.0
 and lxml (6.0.0) requires Python >=3.8, lxml is forbidden.
And because lxml (6.0.1) requires Python >=3.8, lxml is forbidden.
And because lxml (6.0.2) requires Python >=3.8
 and lxml (6.0.3) requires Python >=3.8, lxml is forbidden.
And because lxml (6.0.4) requires Python >=3.8
 and lxml (6.1.0) requires Python >=3.8, lxml is forbidden.
So, because lxml (6.1.1) requires Python >=3.8
 and slowapi depends on lxml (^6.0.0), version solving failed.

  • Check your dependencies Python requirement: The Python requirement can be specified via the `python` or `markers` properties
    
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"
    For lxml, a possible solution would be to set the `python` property to ">=3.8,<4.0"

    https://python-poetry.org/docs/dependency-specification/#python-restricted-dependencies,
    https://python-poetry.org/docs/dependency-specification/#using-environment-markers

@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch 2 times, most recently from 4b25f27 to 967822b Compare May 12, 2026 11:29
@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch 2 times, most recently from b5ede81 to c9b3c70 Compare May 18, 2026 09:55
@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch 2 times, most recently from eedc6fc to 382dbc7 Compare May 28, 2026 14:41
@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch from 382dbc7 to 11da49d Compare June 25, 2026 05:32
@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch from 11da49d to d7116f9 Compare July 12, 2026 17:30
@renovate
renovate Bot force-pushed the renovate/pypi-lxml-vulnerability branch from d7116f9 to 0be3282 Compare July 25, 2026 17:56
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