Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
5 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
The extractall() function in src/poetry/utils/helpers.py:410-426 extracts sdist tarballs without path traversal protection on Python versions where tarfile.datafilter is unavailable. Considering only Python versions which are still supported by Poetry, these are 3.10.0 - 3.10.12 and 3.11.0 - 3.11.4. Impact Arbitrary file write (path traversal) from untrusted sdist content. In practice, the impact is low because an attacker who exploits this vulnerability can as well include arbitrary code in a setup.py, which will be executed when the sdist is built after tar extraction. In other words, a malicious sdist can write arbitrary files by design. However, since it is unexpected and not by design that the file write already happens during tar extraction, this is still considered a vulnerability. On Python 3.11.2 (Debian Bookworm default, directly tested), a crafted sdist with ../../ tar member paths writes files outside the intended extraction directory. The traversal occurs during…
Recommended action: Upgrade to 2.3.4 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
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/wheelinstaller.py:47 src/poetry/installation/wheelinstaller.py:59 The vulnerable sink is reachable in normal installation: src/poetry/installation/executor.py:607 No resolve() + isrelativeto() style guard is enforced before writing. POC
Recommended action: Upgrade to 2.3.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Observation To handle dependencies that come from a Git repository, Poetry executes various commands, e.g. git config. These commands are being executed using the executable’s name and not its absolute path. This can lead to the execution of untrusted code due to the way Windows resolves executable names to paths. Unlike Linux-based operating systems, Windows searches for the executable in the current directory first and looks in the paths that are defined in the PATH environment variable afterward. If the current directory contains unknown and thus potentially malicious files, the directory could contain an executable named git.exe which would be executed by Poetry. Poetry calls executables by name when handling dependencies from Git. Note that there might be even more places where Poetry calls executables by name. Impact This vulnerability can lead to Arbitrary Code Execution, which would lead to the takeover of the system. If a developer is exploited, the attacker could steal…
Recommended action: Upgrade to 1.1.9 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Observation When handling dependencies that come from a Git repository instead of a registry, Poetry uses various commands, such as git clone. These commands are being constructed using user input (e.g. the repository URL). When building the commands, Poetry correctly avoids Command Injection vulnerabilities by passing an array of arguments instead of a command string. However, there is the possibility that a user input starts with a dash (-) and is therefore treated as an optional argument instead of a positional one. This can lead to Code Execution because some of the commands have options that can be leveraged to run arbitrary executables. To clone a repository, Poetry builds a git clone command, but fails to validate or sanitize the repository location properly: poetry/core/vcs/git.py: Since this value comes from the pyproject.toml file, it can contain any character, including a leading dash. Impact This vulnerability can lead to Arbitrary Code Execution, which would lead to the…
Recommended action: Upgrade to 1.1.9 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
Poetry prior to v1.1.9 was discovered to contain an untrusted search path which causes the application to behave in unexpected ways when users execute Poetry commands in a directory containing malicious content. This vulnerability occurs when the application is ran on Windows OS.
Recommended action: Upgrade to 1.1.9 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.