Skip to content
OpenAdvisories
Low · 2.0 CVE-2026-68939 EUVD-2026-60955

Pyenv: Glob/wildcard metacharacters bypass is_version_safe(), causing silent version/interpreter substitution via unquoted expansion (CVE-2022-35861 residual)

Published Aug 18, 2026 · Updated Aug 18, 2026 · Assigned by GitHub_M

Description

Pyenv provides simple Python version management. Prior to 2.8.0, is_version_safe() in libexec/pyenv-version-file-read accepts shell glob metacharacters in .python-version values, and unquoted PYENV_VERSION expansion in libexec/pyenv-version-name, libexec/pyenv-which, libexec/pyenv-prefix, libexec/pyenv-local, libexec/pyenv-global, libexec/pyenv-version, and libexec/pyenv-versions pathname-expands the value against the current directory, allowing a matching attacker-controlled file to silently select a different installed interpreter or version. This issue is fixed in version 2.8.0.

Affected products

VendorProductAffectedFixed
pyenv pyenv < 2.8.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 pyenv No fix yet —
Debian 13 pyenv No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 pyenv No fix yet —
Ubuntu 26.04 LTS pyenv No fix yet —
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed pyenv 2.8.4-1.1 openSUSE-SU-2026:11613-1
openSUSE Leap 16.0 pyenv 2.4.14-bp160.2.1 openSUSE-SU-2026:21664-1

Advisories 2

References