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

CVE-2026-113776

virtualenv etkinleştirme betikleri, adında yer tutucu ifadesi bulunan yoldan kod çalıştırabiliyor

pypa virtualenv

Yüksek 7,8 CVSS 3.1
Yayımlandı
Güncellendi
28 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. 20.26.6 sürümünden 21.14.2 sürümüne kadar olan sürümlerde, ViaTemplateActivator.instantiate_template fonksiyonu etkinleştirme şablonunun tamamındaki yer tutucuları anahtar anahtar tek tek değiştirmektedir. Bu nedenle, zaten yerine konulmuş ve tırnak içine alınmış bir ortam yolu veya istem (prompt) içinde __VIRTUAL_NAME__, __VIRTUAL_ENV__ veya __VIRTUAL_PROMPT__ gibi tetikleyici adlar bulunursa, bunlar sonraki bir geçişte yeniden değiştirilebilir. Sonraki değerin tırnaklaması, önceki sabit metni kapatabilir ve kullanıcı ortamı bash, fish, xonsh veya activate_this.py üzerinden etkinleştirdiğinde yolun kalan kısmını çalıştırabilir. Buna karşılık csh istem gösterim belirteci __VIRTUAL_PROMPT_DISPLAY_TCSH__, komut çalıştırmayı sağlamadan üretilen betiği bozabilir. Saldırganın hedef yolu veya --prompt değerini etkileyebilmesi gerekir; ilgili bir yer tutucu adı içermeyen değerler bu mekanizmayı tetiklemez. Sorun 21.14.2 sürümünde giderilmiştir.

Kaynaktaki açıklama (İngilizce)

virtualenv is a tool for creating isolated virtual python environments. From 20.26.6 until 21.14.2, ViaTemplateActivator.instantiate_template() replaces placeholders one key at a time across the complete activation template, so trigger names such as __VIRTUAL_NAME__, __VIRTUAL_ENV__, or __VIRTUAL_PROMPT__ inside an already substituted and quoted environment path or prompt can be replaced during a later pass. The later value's quoting can close the earlier literal and execute the remaining path when a user activates the environment through bash, fish, xonsh, or activate_this.py. The distinct csh prompt-display token __VIRTUAL_PROMPT_DISPLAY_TCSH__ can instead break the generated script without establishing command execution. The attacker must influence the destination path or --prompt, and a value without a relevant placeholder name does not trigger this mechanism. This issue is fixed in version 21.14.2.

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 Sürüm belirtilmemiş –

Kaynaklar5 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.