ASGI header spoofing via underscore/hyphen conflation
An issue was discovered in 6.0 before 6.0.4, 5.2 before 5.2.13, and 4.2 before 4.2.30. `ASGIRequest` allows a remote attacker to spoof headers by exploiting an ambiguous mapping of two header variants (with hyphens or with underscores) to a single version with underscores. Earlier, unsupported Django series (such as 5.0.x, 4.1.x, and 3.2.x) were not evaluated and may also be affected. Django would like to thank Tarek Nakkouch for reporting this issue.
- Yayın
- 7 Nis 2026
- Güncelleme
- 17 Haz 2026
- EPSS
- %0,5 · 44. yüzdelik
- CWE
- CWE-290
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
30
İzleyin
Şimdilik düşük öncelik.
- CVSS
- 30 / 40 · 7.5 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 0 / 30 · %0,5
CISA SSVC kararı
- Sömürü
- yok
- Otomatikleştirilebilir
- evet
- Teknik etki
- kısmi
Vulnrichment: CISA'nın karar ağacı girdileri.
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| djangoproject | django | cpe:2.3:a:djangoproject:django |
Etkilenen sürümler
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’ine sürümle eklersen eşleşme bunlarla yapılır.
- djangoproject django4.2 ve sonrası · 4.2.30 öncesi
- djangoproject django5.2 ve sonrası · 5.2.13 öncesi
- djangoproject django6.0 ve sonrası · 6.0.4 öncesi
Üreticinin bildirdiği sürümler
Kaydı açan otorite (DSF) tarafından bildirilen etkilenen sürüm aralıkları. NVD'nin CPE analizinden bağımsızdır ve genellikle ondan önce gelir.
djangoproject Django
- 6.0.4, 5.2.13, 4.2.30etkilenmez
- 6.0 ve sonrası · 6.0.4 öncesietkilenir · semver
- 5.2 ve sonrası · 5.2.13 öncesietkilenir · semver
- 4.2 ve sonrası · 4.2.30 öncesietkilenir · semver
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 | python-django | tüm sürümler | — |
| Debian:14 | python-django | 3:4.2.30-1 öncesi | 3:4.2.30-1 |
| openSUSE:Leap 16.0 | python-Django | 5.2.4-bp160.7.1 öncesi | 5.2.4-bp160.7.1 |
| openSUSE:Tumbleweed | python-Django | 5.2.13-1.1 öncesi | 5.2.13-1.1 |
| openSUSE:Tumbleweed | python-Django4 | 4.2.30-1.1 öncesi | 4.2.30-1.1 |
| openSUSE:Tumbleweed | python-Django6 | 6.0.4-1.1 öncesi | 6.0.4-1.1 |
| PyPI | django | 4.2 itibarıyla · 4.2.30 öncesi | 4.2.30 |
| PyPI | django | 4.2 itibarıyla · 4.2.30 öncesi | 4.2.30 |
| PyPI | django | 5.2 itibarıyla · 5.2.13 öncesi | 5.2.13 |
| PyPI | django | 5.2 itibarıyla · 5.2.13 öncesi | 5.2.13 |
| PyPI | django | 6.0 itibarıyla · 6.0.4 öncesi | 6.0.4 |
| PyPI | django | 6.0 itibarıyla · 6.0.4 öncesi | 6.0.4 |
Aynı üründe
djangoproject: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2022-34265An issue was discovered in Django 3.2 before 3.2.14 and 4.0 before 4.0.6.61Bu hafta
- CVE-2020-7471Django 1.11 before 1.11.28, 2.2 before 2.2.10, and 3.0 before 3.0.3 allows SQL Injection if untrusted data is used as a StringAgg delimiter 59Planlayın
- CVE-2019-19844Django before 1.11.27, 2.x before 2.2.9, and 3.x before 3.0.1 allows account takeover.55Planlayın
- CVE-2019-14234An issue was discovered in Django 1.11.x before 1.11.23, 2.1.x before 2.1.11, and 2.2.x before 2.2.4.53Planlayın
- CVE-2021-35042Django 3.1.x before 3.1.13 and 3.2.x before 3.2.5 allows QuerySet.order_by SQL injection if order_by is untrusted input from a client of a w52Planlayın
- CVE-2023-24580An issue was discovered in the Multipart Request Parser in Django 3.2 before 3.2.18, 4.0 before 4.0.10, and 4.1 before 4.1.7.49Planlayın
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 |
|---|---|---|
| djangoproject Django | 4.2.30 | Üretici (CNA) |
| djangoproject Django | 5.2.13 | Üretici (CNA) |
| djangoproject Django | 6.0.4 | Üretici (CNA) |
| Debian:python-django | 3:4.2.30-1 · Debian:14 | Paket deposu (OSV) |
| openSUSE:python-Django | 5.2.13-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| openSUSE:python-Django4 | 4.2.30-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| openSUSE:python-Django6 | 6.0.4-1.1 · openSUSE:Tumbleweed | Paket deposu (OSV) |
| PyPI:django | 4.2.30 | Paket deposu (OSV) |
| PyPI:django | 5.2.13 | Paket deposu (OSV) |
| PyPI:django | 6.0.4 | 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.
Referanslarda commit ya da PR bağlantısı yok.
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.
- Tarek Nakkouchbildiren
- Jacob Wallsdüzeltme geliştirici
Varyant adayları
Aynı üründe aynı zafiyet sınıfı, 18 ay içinde. Yama kök nedeni kapatmadıysa kardeş hata burada olur.
—
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.
- CVE-2026-15307119 gün araylaServer-side file-write and request forgery via spatial lookups34İzleyin
- CVE-2026-120763 gün araylaPotential SQL injection via raster lookups on PostGIS25İzleyin
- CVE-2026-128763 gün araylaPotential SQL injection in column aliases via control characters21İzleyin
- CVE-2026-131263 gün araylaPotential SQL injection via QuerySet.order_by and FilteredRelation21İzleyin
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ı
- İnternetten erişebilen herkes tetikleyebilir.
- Hesap ya da parola gerekmez.
- Kullanıcının bir şey yapması gerekmez.
- Özel bir koşul gerekmez; tekrarlanabilir.
Başarılı olursa
- Gizlilik
- yok
- Bütünlük
- yüksek · veri ya da yapılandırma değiştirilebilir
- Erişilebilirlik
- yok
- Saldırı vektörü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- Kapsam
- Değişmez
- Gizlilik etkisi
- Yok
- Bütünlük etkisi
- Yüksek
- Erişilebilirlik etkisi
- Yok
Zayıflık sınıfı (CWE)
CWE-290 · Authentication Bypass by SpoofingCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
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)
- Exploitation of Trusted IdentifiersCAPEC-21olasılık: High · High
- Exploiting Trust in ClientCAPEC-22olasılık: High · High
- Creating a Rogue Certification Authority CertificateCAPEC-459olasılık: Medium · Very High
- Web Services API Signature Forgery Leveraging Hash Function Extension WeaknessCAPEC-461High
- Signature SpoofCAPEC-473
- Signature Spoofing by MisrepresentationCAPEC-476olasılık: Low · High
- Session Credential Falsification through PredictionCAPEC-59olasılık: High · High
- Reusing Session IDs (aka Session Replay)CAPEC-60olasılık: High · High
ATT&CK teknikleri
- Masquerading: Invalid Code SignatureT1036.001
- Access Token ManipulationT1134
- Access Token Manipulation:Token Impersonation/TheftT1134.001
- Steal Application Access TokenT1528
- Steal Web Session CookieT1539
- Use Alternate Authentication Material:Web Session CookieT1550.004
- Subvert Trust Controls: Code SigningT1553.002
- Adversary-in-the-MiddleT1557
Noroxi analizi
Bu kayıt için henüz Noroxi analizi yok
385 binden fazla 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 isteyinDeğişiklik günlüğü
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
- docs.djangoproject.com/en/dev/releases/security/
- groups.google.com/g/django-announce
- www.djangoproject.com/weblog/2026/apr/07/security-releases/
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.