PyPi: Poetry

CVE-2022-36070

Safety vulnerability ID: 50948

This vulnerability was reviewed by experts

The information on this page was manually curated by our Cybersecurity Intelligence Team.

Created at Sep 07, 2022 Updated at May 08, 2024
Scan your Python projects for vulnerabilities →

Advisory

Poetry 1.1.9 includes a fix for CVE-2022-36070: 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. 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 credentials or persist their access. If the exploit happens on a server, the attackers could use their access to attack other internal systems. Since this vulnerability requires a fair amount of user interaction, it is not as dangerous as a remotely exploitable one. However, it still puts developers at risk when dealing with untrusted files in a way they think is safe. The victim could also not protect themself by vetting any Git or Poetry config files that might be present in the directory, because the behavior is undocumented.
https://github.com/python-poetry/poetry/security/advisories/GHSA-j4j9-7hg9-97g6

Affected package

poetry

Latest version: 1.8.3

Python dependency management and packaging made easy.

Affected versions

Fixed versions

Vulnerability changelog

Poetry is a dependency manager for Python. 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. 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 credentials or persist their access. If the exploit happens on a server, the attackers could use their access to attack other internal systems. Since this vulnerability requires a fair amount of user interaction, it is not as dangerous as a remotely exploitable one. However, it still puts developers at risk when dealing with untrusted files in a way they think is safe. The victim could also not protect themself by vetting any Git or Poetry config files that might be present in the directory, because the behavior is undocumented. Versions 1.1.9 and 1.2.0b1 contain patches for this issue. See CVE-2022-36070.


CONFIRM:https://github.com/python-poetry/poetry/security/advisories/GHSA-j4j9-7hg9-97g6: https://github.com/python-poetry/poetry/security/advisories/GHSA-j4j9-7hg9-97g6
MISC:https://github.com/python-poetry/poetry/releases/tag/1.1.9: https://github.com/python-poetry/poetry/releases/tag/1.1.9
MISC:https://github.com/python-poetry/poetry/releases/tag/1.2.0b1: https://github.com/python-poetry/poetry/releases/tag/1.2.0b1

Resources

Use this package?

Scan your Python project for dependency vulnerabilities in two minutes

Scan your application

Severity Details

CVSS Base Score

HIGH 7.3

CVSS v3 Details

HIGH 7.3
Attack Vector (AV)
LOCAL
Attack Complexity (AC)
LOW
Privileges Required (PR)
LOW
User Interaction (UI)
REQUIRED
Scope (S)
UNCHANGED
Confidentiality Impact (C)
HIGH
Integrity Impact (I)
HIGH
Availability Availability (A)
HIGH