CPython >3.11 Insecure Input Validation resulting in privilege escalation
To allow builds of Python to be run from an in-tree layout (rather than an installed file layout), the VPATH variable is defined at build time and used to locate certain landmarks - specifically, Modules/setup.local. When this landmark is found relative to VPATH relative to the executable, Python assumes it is running in a source tree and generates a different default sys.path. This code remains in release builds, so that release-ready builds can be built in-tree. On Windows, since builds are written to 'PCbuild/', the value of VPATH is set to '..\..', which results in a landmark of '..\..\Modules\setup.local'. This path is outside the install directory of Python, and may have different permissions, potentially allowing a low-privilege user to create the landmark and an alternative `Lib` folder that will be discovered by an otherwise restricted install. Such a setup occurs with the legacy default install location for all users (in the now superseded EXE installer), due to how Windows allows all users to create folders in the root directory of their OS drive. Our recommended mitigation on Windows is to migrate away from the legacy installer and use the new [Python install manager](https://www.python.org/downloads/latest/pymanager/) to install for the current user. Installs where the directory two levels above the Python installation directory have equivalent permissions are unaffected (in general, a per-user install cannot be modified at all by other users, removing any escalation of privilege risk, and could be directly modified by a privileged user, making the potential tampering irrelevant). Alternative mitigations might include preemptively creating and restricting access to a `Modules` directory. Be aware that only 3.13 and 3.14 will receive updated legacy installers - earlier fixes are only provided as sources. Platforms other than Windows allow VPATH to be overridden, but as they don't usually use a separated directory in the build for binaries, are unlikely to have a landmark reference outside of the install directory. The landmark detection involving VPATH is a fallback for when a more specific landmark - .\pybuilddir.txt - is absent, and was included for compatibility. Future releases of Python will no longer include the fallback, and so builds will need to generate or preserve the pybuilddir.txt file in order to work in-tree. This landmark file has been generated on Windows since 3.11, and on other platforms for longer.
- Yayın
- 16 Haz 2026
- Güncelleme
- 13 Ağu 2026
- EPSS
- %0,1 · 3. yüzdelik
- CWE
- CWE-427
Takip etmek için giriş yap · Takip ettiğin kayıt KEV’e girer, istismarı çıkar ya da güncellenirse bildirim alırsın.
Rapor araçları
Aksiyon skoru
21
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 21 / 40 · 5.3 / 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 · PSF
- 5,3
- NVD henüz kendi puanını vermedi; gösterilen puan CNA’nın.
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA: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.
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
Veritabanındaki yüz binlerce zafiyetin tamamına elle analiz yazmıyoruz; bu dürüst olmazdı. Öne çıkan ve sahada etkisi olan zafiyetler için mekanizma, tespit ve kapatma adımlarını ekibimiz yazıyor.
Bu ürünü kullanıyoruz, yardım isteyinEtkilenen sistemler
—
Üreticinin bildirdiği sürümler
Kaydı açan otorite (PSF) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
Python Software Foundation CPython
- 3.11.16 öncesietkilenir · python
- 3.12.0 ve sonrası · 3.12.14 öncesietkilenir · python
- 3.13.0 ve sonrası · 3.13.15 öncesietkilenir · python
- 3.14.0 ve sonrası · 3.14.7 öncesietkilenir · python
- 3.15.0a1 ve sonrası · 3.15.0b3 öncesietkilenir · python
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:12 | python3.11 | tüm sürümler | — |
| Debian:13 | python3.13 | tüm sürümler | — |
| Debian:14 | python3.14 | tüm sürümler | — |
| Red Hat:hummingbird:1 | python-unversioned-command | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3 | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-debug | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-devel | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-idle | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-libs | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-test | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3-tkinter | 0:3.14.7-1.2.hum1 öncesi | 0:3.14.7-1.2.hum1 |
| Red Hat:hummingbird:1 | python3.11 | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-debug | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-devel | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-idle | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-libs | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-test | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.11-tkinter | 0:3.11.16-1.4.hum1 öncesi | 0:3.11.16-1.4.hum1 |
| Red Hat:hummingbird:1 | python3.12 | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
| Red Hat:hummingbird:1 | python3.12-debug | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
| Red Hat:hummingbird:1 | python3.12-devel | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
| Red Hat:hummingbird:1 | python3.12-idle | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
| Red Hat:hummingbird:1 | python3.12-libs | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
| Red Hat:hummingbird:1 | python3.12-test | 0:3.12.14-1.3.hum1 öncesi | 0:3.12.14-1.3.hum1 |
+18
Aynı üründe
python software foundation: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2025-4517Arbitrary writes via tarfile realpath overflow37İzleyin
- CVE-2026-19445Use-after-free of a server-side SSLContext when sni_callback switches contexts36İzleyin
- CVE-2026-6100Use-after-free in lzma.LZMADecompressor, bz2.BZ2Decompressor, and gzip.GzipFile after re-use under memory pressure36İzleyin
- CVE-2026-3298Out-of-bounds write in Windows asyncio.ProacterEventLoop.sock_recvfrom_into() when using nbytes35İzleyin
- CVE-2024-12254Unbounded memory buffering in SelectorSocketTransport.writelines()35İzleyin
- CVE-2024-8088Infinite loop when iterating over zip archive entry names from zipfile.Path34İ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 |
|---|---|---|
| Python Software Foundation CPython | 3.11.16 | Üretici (CNA) |
| Python Software Foundation CPython | 3.12.14 | Üretici (CNA) |
| Python Software Foundation CPython | 3.13.15 | Üretici (CNA) |
| Python Software Foundation CPython | 3.14.7 | Üretici (CNA) |
| Python Software Foundation CPython | 3.15.0b3 | Üretici (CNA) |
| red hat:python-unversioned-command | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3 | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-debug | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-devel | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-idle | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-libs | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-test | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3-tkinter | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3.14 | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3.14-freethreading | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3.14-freethreading-debug | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | Paket deposu (OSV) |
| red hat:python3.14-freethreading-devel | 0:3.14.7-1.2.hum1 · Red Hat:hummingbird:1 | 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ışında tarihli olay yok.
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ıkla, aynı araştırmacının diğer kayıtlarını gör.
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
Gece hesaplanan ilişki yok.
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.
- Düşük yetkili bir hesap yeterli.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- Bütünlük
- Erişilebilirlik
- Saldırı vektörü
- Yerel
- Karmaşıklık
- Düşük
- Gereken yetki
- Düşük
- Kullanıcı etkileşimi
- A
- Kapsam
- X
Zayıflık sınıfı (CWE)
CWE-427 · Uncontrolled Search Path ElementCVSS vektörü
CVSS:4.0/AV:L/AC:L/AT:P/PR:L/UI:A/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
nvd-secondary
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
- Hijack Execution Flow:DLL search order hijackingT1574.001
- Hijack Execution Flow: Dylib HijackingT1574.004
- Hijack Execution Flow: Path Interception by PATH Environment VariableT1574.007
- Hijack Execution Flow: Path Interception by Search Order HijackingT1574.008
- Hijack Execution Flow: Path Interception by Unquoted PathT1574.009
Değişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- github.com/python/cpython/commit/03ab7b44788bfd6b8927e16bcdbd025aa08dce06
- github.com/python/cpython/commit/16c40f944b7bff724a403cf4902763d095bb4b2a
- github.com/python/cpython/commit/872038377db2e170e0e140b5f8aaedf636b3fbf5
- github.com/python/cpython/commit/9e863fab283eddca9c2a8f9d1ee30f4dc243e314
- github.com/python/cpython/commit/a86de0bc236fbb9452f98998fc8437e9fca35700
- github.com/python/cpython/commit/b93d6d3399adbd3a5037b6b92fc3587c85ac5d56
- github.com/python/cpython/issues/151544
- github.com/python/cpython/pull/151545
- https://mail.python.org/archives/list/security-announce@python.org/thread/JIFOBO7UX3LY4VJKJUOKYJV62CFR2IRH/
- www.openwall.com/lists/oss-security/2026/06/16/8
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.