Katalog CVE

CVE-2026-102938

ŚrednieCVSS 5.8
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

virtualenv to narzędzie do tworzenia izolowanych środowisk Pythona. Przed wersją 21.7.11 funkcja PyEnvCfg.write() zapisuje wartości prompt dosłownie do formatu pyvenv.cfg, podczas gdy PyEnvCfg._read_values() parsuje plik za pomocą str.splitlines() i akceptuje ostatnią wartość dla zduplikowanych kluczy. Atakujący mogący wpłynąć na --prompt, VIRTUALENV_PROMPT lub konfigurację może wstawić granicę linii i dodatkowe klucze, w tym home, powodując użycie przez konsumentów wybranego przez atakującego interpretera bazowego lub uszkodzenie metadanych środowiska.

Ocena ryzyka

Atakujący może doprowadzić do użycia złośliwego interpretera bazowego lub uszkodzenia metadanych środowiska, co może prowadzić do wykonania niezaufanego kodu. Wymaga to jednak wpływu na dane wejściowe prompt spoza granicy zaufania operatora.

Rekomendacja

Zaktualizuj virtualenv do wersji 21.7.11 lub nowszej. Unikaj przekazywania niezaufanych danych wejściowych do opcji --prompt lub VIRTUALENV_PROMPT.

Inne podatności w virtualenv

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.11, PyEnvCfg.write() writes prompt values verbatim to the line-oriented pyvenv.cfg format while PyEnvCfg._read_values() parses the file with str.splitlines() and accepts the last value for duplicate keys. An attacker who influences --prompt, VIRTUALENV_PROMPT, or configuration input can insert a recognized line boundary and additional keys, including home, causing consumers to use an attacker-selected base interpreter or corrupted environment metadata. The security impact requires prompt input from outside the operator's trust boundary; directly supplied prompt content primarily corrupts the operator's own environment. This issue is fixed in version 21.7.11.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS