Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-78

CVE-2026-113722

virtualenv POSIX başlatıcılarında hedef yolların kabuk sözdizimi olarak yorumlanması

pypa virtualenv

Yüksek 7,8 CVSS 3.1
Yayımlandı
Güncellendi
23 Eki 2026
Açık yaşı
7 gün
Kaydı açan
GitHub_M

ÖzetTürkçe

virtualenv, izole Python sanal ortamları oluşturmaya yarayan bir araçtır. 21.14.9 sürümünden önce virtualenv'in ScriptMakerCustom bileşeni ve pip, POSIX konsol betikleri üretirken yorumlayıcı yolunu eksik tırnaklanmış şekilde distlib ScriptMaker'a iletmektedir. Yol bir boşluk içerdiğinde veya shebang satırı 127 bayttan uzun olduğunda, distlib çift tırnak içindeki yorumlayıcı yolunda hâlâ komut yerine koymayı (command substitution) ve ters tırnak (backtick) karakterlerini genişleten bir /bin/sh sarmalayıcısı üretmektedir. Ortam hedefini etkileyebilen bir saldırgan, kullanıcı daha sonra üretilmiş bir başlatıcıyı çalıştırdığında kullanıcının ayrıcalıklarıyla komut çalıştırabilir; ortam oluşturma ve etkinleştirme bu komutu tetiklemez. Mevcut başlatıcılar yalnızca virtualenv'i yükseltmekle onarılmaz, yeniden üretilmeleri gerekir. Ayrıca daha sonra yapılan bağımsız bir pip kurulumu veya yükseltmesi, pip'in içerdiği distlib değişmediği için etkilenen bir başlatıcıyı yeniden ortaya çıkarabilir. virtualenv düzeltmesi 21.14.9 sürümünde yayımlanmıştır.

Kaynaktaki açıklama (İngilizce)

virtualenv is a tool for creating isolated virtual python environments. Prior to 21.14.9, virtualenv's ScriptMakerCustom and pip pass an incompletely quoted interpreter path to distlib ScriptMaker when generating POSIX console scripts. When the path contains a space or produces a shebang longer than 127 bytes, distlib emits a /bin/sh wrapper whose double-quoted interpreter path still expands command substitutions and backticks. An attacker who influences the environment destination can therefore execute commands with the user's privileges when the user later runs a generated launcher; environment creation and activation do not trigger the command. Existing launchers are not repaired by upgrading virtualenv alone and must be regenerated, while a later independent pip installation or upgrade can reintroduce an affected launcher because pip's vendored distlib is unchanged. The virtualenv fix is released in version 21.14.9.

Bu açığın açıklamasını Türkçeye çevirdik. Adım adım çözüm önerilerini kritik ve yeni açıklar için hazırlıyoruz; düzeltilmiş sürüm aşağıdaki tabloda, ayrıntılar üreticinin duyurusunda.

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
pypa virtualenv < 21.14.9 21.14.9

Kaynaklar6 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.