CVE-2026-102925: virtualenv bash and fish activation scripts execute commands embedded in paths
Noroxi değerlendirmesi
Öncelik: İzleyin (aksiyon skoru 31/100)
- İzlediğimiz kaynaklarda (CISA KEV, Exploit-DB, Metasploit, Nuclei, GitHub) herkese açık istismar kodu ya da sahada sömürü kaydı yok.
- Önümüzdeki 30 günde sömürülme olasılığı %0,15 (FIRST EPSS).
- Sisteme yerel erişimi olan biri tetikleyebilir. Hesap ya da parola gerekmez. Bir kullanıcının bağlantıyı açması ya da sayfayı ziyaret etmesi gerekir. Özel bir koşul gerekmez; tekrarlanabilir.
- Düzeltilmiş sürüm: pypa virtualenv 21.7.13; azl3 python-virtualenv 20.36.1-6 on Azure Linux 3.0 20.36.1-7.
Şimdilik düşük öncelik. pypa virtualenv 21.7.13; azl3 python-virtualenv 20.36.1-6 on Azure Linux 3.0 20.36.1-7 ya da daha yeni sürüme yükseltin.
Kaydın verisinden otomatik üretilir: CVSS (NVD ve CNA), CISA KEV ve SSVC, FIRST EPSS, istismar kaynakları, düzeltme sürümleri. Nasıl hesaplıyoruz
Birincil kaynaklar: NVD · CVE.org · FIRST EPSS
virtualenv is a tool for creating isolated virtual python environments. Prior to 21.7.13, the generated activate (bash and zsh) and activate.fish scripts place values already escaped by shlex.quote inside an additional quoted context. In the bash and zsh script, a crafted virtual environment path reaches __VIRTUAL_ENV__ when a relocated environment's recorded directory is absent; in the fish script, crafted Tcl or Tk library paths reach __TCL_LIBRARY__ or __TK_LIBRARY__. The surplus quotes can terminate the data-only quoted run and leave shell metacharacters parsed as commands when a user sources the activation script, allowing code execution with that user's privileges. This issue is fixed in version 21.7.13.
- Yayın
- 29 Eyl 2026
- Güncelleme
- 30 Eyl 2026
- EPSS
- %0,1 · 4. yüzdelik
- CWE
- CWE-78
Rapor araçları
Aksiyon skoru
31
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 31 / 40 · 7.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,1
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- hayır
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- —
- CNA · GitHub_M
- 7,8
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
Kaydı açan otoritenin puanı ile NVD’nin bağımsız puanı. İki puan arasındaki fark ciddiyetin tartışmalı olduğunu gösterir.
Bu kayıt değişirse haber alın
- KEV'de değil: sahada sömürü kaydı yok
- Herkese açık istismar kodu kaydı yok
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
WordPress siteniz mi var? WP Lens ile ücretsiz tarayın
Noroxi analizi
Sizin ortamınızda ne anlama geliyor?
Yukarıdaki değerlendirme kaydın verisinden otomatik üretilir; ortamınızı bilmez. Bu açığın sizde gerçekten sömürülebilir olup olmadığını ve hangi önlemin yeteceğini ekibimiz sizin sistemlerinizde doğrular.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
Sürümünüz etkileniyor mu?
Ürünü seçip kullandığınız sürümü yazın. Bu kaydın sürüm aralıklarıyla tarayıcınızda karşılaştırılır; sürüm hiçbir yere gönderilmez.
—
Üreticinin bildirdiği sürümler
Kaydı açan otorite (GitHub_M) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
pypa virtualenv
- < 21.7.13etkilenir
Paket düzeyi etkilenme
OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.
| Ekosistem | Paket | Etkilenen aralık | Düzeltme |
|---|---|---|---|
| Debian:13 | python-virtualenv | 0 itibarıyla | — |
| openSUSE:Tumbleweed | python-virtualenv | 21.14.2-1.1 öncesi | 21.14.2-1.1 |
| PyPI | virtualenv | 21.7.13 öncesi | 21.7.13 |
Aynı üründe
pypa: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2026-113776virtualenv activation scripts run code from a path that contains a placeholder name31İzleyin
- CVE-2026-113732virtualenv activate.fish runs commands from a path or prompt with a backslash before a quote31İzleyin
- CVE-2026-113726virtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST31İzleyin
Bu üründe bundan önce ve sonra yayımlananlar
- Sonraki →CVE-2026-10293029 Eyl 2026 · virtualenv: Downloaded seed wheels (pip/setuptools) are not integrity-checked before use30İzleyin
- Sonraki →CVE-2026-10293729 Eyl 2026 · virtualenv: Command injection via --prompt in activate.bat (batch activator)29İzleyin
- Sonraki →CVE-2026-10293829 Eyl 2026 · virtualenv writes prompt values into pyvenv.cfg without sanitizing line boundaries, allowing configuration injection23İzleyin
Düzeltme
Hangi sürüme geçmeli
Üretici, paket deposu ve Microsoft kayıtlarından derlenen düzeltme sürümleri. Yükseltmeden önce üreticinin notunu doğrulayın.
| Ürün / paket | Düzeltilmiş sürüm | Kaynak |
|---|---|---|
| pypa virtualenv | 21.7.13 · description | Üretici (CNA) |
| azl3 python-virtualenv 20.36.1-6 on Azure Linux 3.0 | 20.36.1-7 · Release Notes | Microsoft (MSRC) |
| opensuse:python-virtualenv | 21.14.2-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| PyPI:virtualenv | 21.7.13 | Paket deposu (OSV) |
İstismar durumu
Bilinen kamuya açık istismar yok
Şu an kamuya açık bir istismar görülmedi. Bu, güvende olduğunuz anlamına gelmez; yalnızca eşiğin biraz daha yüksek olduğunu gösterir.
Araştırma bağlamı
Pentester ve araştırmacı için: saldırı profili, puan anlaşmazlığı, zaman çizelgesi, yama commit’leri, kredi, varyant ve zincir adayları, bug bounty kapsamı. Hepsi mevcut veriden türetilir; istismar kodu içermez.
Zaman çizelgesi
Yayından bugüne: kavram kanıtı, Metasploit modülü, CISA KEV ve düzeltme kaydı. Tarihler kaynakların bildirdiği tarihlerdir.
- Yayın
- Düzeltme kaydıaynı gün
- Bugün27 Eki 2026+28 gün
FIRST EPSS günlük puanı; yalnızca 0,01 ve üstü değişimler kaydedilir (adım grafiği).
Yama ve commit bağlantıları
Referanslardaki commit, PR ve diff adresleri. Patch-diff ve varyant avı için başlangıç noktası; istismar değil, düzeltmedir.
Kredi
Tüm araştırmacılarCNA kaydında adı geçen bulan, bildiren ve analistler. Ada tıklayın, aynı araştırmacının diğer kayıtlarını görün.
CNA kaydında kredi yok.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
- CVE-2026-11372221 gün araylavirtualenv: Generated POSIX console launchers interpret destination paths as shell syntax31İzleyin
- CVE-2026-11372521 gün araylavirtualenv bash activate runs commands from an environment name with a backslash before $31İzleyin
- CVE-2026-11372621 gün araylavirtualenv activate runs commands from the environment name in zsh with PROMPT_SUBST31İzleyin
- CVE-2026-11373221 gün araylavirtualenv activate.fish runs commands from a path or prompt with a backslash before a quote31İzleyin
- CVE-2026-11377621 gün araylavirtualenv activation scripts run code from a path that contains a placeholder name31İzleyin
- CVE-2026-1029370 gün araylavirtualenv: Command injection via --prompt in activate.bat (batch activator)29İzleyin
Zincir adayları
Aynı üründe kimlik doğrulama atlatma ile yetki isteyen bir açık kısa aralıkla yayımlanmış: birlikte kimlik doğrulamasız bir yola dönüşebilir.
—
Bug bounty kapsamı
Bilinen herkese açık program yok.
Kaynak: bounty-targets-data (HackerOne, Bugcrowd, Intigriti, YesWeHack herkese açık listeleri).
Teknik detay
Saldırı koşulları
- Sisteme yerel erişimi olan biri tetikleyebilir.
- Hesap ya da parola gerekmez.
- Bir kullanıcının bağlantıyı açması ya da sayfayı ziyaret etmesi gerekir.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yüksek · veriler okunabilir
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yüksek · hizmet durdurulabilir
- Saldırı vektörü
- Yerel
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekir
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yüksek
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yüksek
Zayıflık sınıfı (CWE)
CWE-78 · Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')CVSS vektörü
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
nvd-secondary
Kök neden
Kullanıcı girdisi, bir kabuk komutunun içine metin olarak yerleştiriliyor. Kabuk, girdideki özel karakterleri komutun parçası olarak yorumlayabilir.
Hatanın kod karşılığı
CWE-78 sınıfının tamamıBu zafiyet sınıfının temsili örneği. Üreticinin kaynak kodu değildir; hatalı kalıbı ve düzeltmesini gösterir.
Hatalı
const host = req.body.host;
exec("ping -c 1 " + host, onResult);Düzeltilmiş
const host = req.body.host;
if (!/^[a-z0-9.-]{1,253}$/i.test(host)) return res.sendStatus(400);
execFile("ping", ["-c", "1", host], onResult);Saldırı bağlamı
Bu zafiyet sınıfının (CWE) MITRE CAPEC saldırı desenleri ve ATT&CK teknikleri. Tespit kuralı ve tehdit avı için başlangıç noktası.
Saldırı desenleri (CAPEC)
ATT&CK teknikleri
—
Değişiklik günlüğü
- SSVC sömürü— → none
- Düzeltme✗ → ✓
- İstismar olgunluğu— → none
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Tüm referansları göster (3 daha)Daha az göster
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.