İçeriğe atla
Noroxi
CVE-2021-32643· NVD / CVE Programı· CNA GitHub_M

StaticFile.fromUrl can leak presence of a directory

Http4s is a Scala interface for HTTP services. `StaticFile.fromUrl` can leak the presence of a directory on a server when the `URL` scheme is not `file://`, and the URL points to a fetchable resource under its scheme and authority. The function returns `F[None]`, indicating no resource, if `url.getFile` is a directory, without first checking the scheme or authority of the URL. If a URL connection to the scheme and URL would return a stream, and the path in the URL exists as a directory on the server, the presence of the directory on the server could be inferred from the 404 response. The contents and other metadata about the directory are not exposed. This affects http4s versions: 0.21.7 through 0.21.23, 0.22.0-M1 through 0.22.0-M8, 0.23.0-M1, and 1.0.0-M1 through 1.0.0-M22. The [patch](https://github.com/http4s/http4s/commit/52e1890665410b4385e37b96bc49c5e3c708e4e9) is available in the following versions: v0.21.24, v0.22.0-M9, v0.23.0-M2, v1.0.0-M23. As a workaround users can avoid calling `StaticFile.fromUrl` with non-file URLs.

OrtaCVSS 5.8 · v3.1—İstismar yok Düzeltme var
Yayın
27 May 2021
Güncelleme
16 Haz 2026
EPSS
%1,4 · 72. yüzdelik
Bu CVE’yi takip et

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ı

JSON

Aksiyon skoru

23

İzleyin

Şimdilik düşük öncelik.

CVSS
23 / 40 · 5.8 / 10
CISA KEV
0 / 30 · Listede değil
EPSS
0 / 30 · %1,4

CNA ile NVD puanı

NVD
5,8
CNA · GitHub_M
5,8
uyumlu

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 isteyin

Etkilenen sistemler

ÜreticiÜrün
typelevelhttp4s

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.

  • typelevel http4s0.21.7 ve sonrası · 0.21.24 öncesi
  • typelevel http4s0.22.0
  • typelevel http4s0.23.0
  • typelevel http4s1.0.0

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

  • http4s http4s

    • >= 0.21.7, < 0.21.24, >= 0.22.0-M1, <= 0.22.0-M8, = 0.23.0-M1, >= 1.0.0-M1, < 1.0.0-M23etkilenir

Paket düzeyi etkilenme

OSV ve GitHub Advisory verisi: ekosistem, paket ve aralık. SBOM eşleşmesi bu tabloyu kullanır.

EkosistemPaketEtkilenen aralıkDüzeltme
Mavenorg.http4s:http4s-core0.21.7 itibarıyla · 0.21.24 öncesi0.21.24
Mavenorg.http4s:http4s-core0.22.0-M1 itibarıyla · 0.22.0-RC1 öncesi0.22.0-RC1
Mavenorg.http4s:http4s-core0.23.0-M1 itibarıyla · 0.23.0-RC1 öncesi0.23.0-RC1
Mavenorg.http4s:http4s-core1.0.0-M1 itibarıyla · 1.0.0-M23 öncesi1.0.0-M23

Aynı birincil ürünün en yüksek skorlu diğer kayıtları.

  • CVE-2021-39185Default CORS config allows any origin with credentials
    36İzleyin
  • CVE-2020-5280Local file inclusion vulnerability in http4s
    32İzleyin
  • CVE-2021-21294Unbounded connection acceptance in http4s-blaze-server
    31İzleyin
  • CVE-2025-59822Http4s vulnerable to HTTP Request Smuggling due to improper handling of HTTP trailer section
    25İzleyin
  • CVE-2023-22465Http4s has fatal error parsing User-Agent and Server headers
    21İzleyin
  • CVE-2021-41084Response Splitting from unsanitized headers in http4s
    18İ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 / paketDüzeltilmiş sürümKaynak
Maven:org.http4s:http4s-core0.21.24Paket deposu (OSV)
Maven:org.http4s:http4s-core0.22.0-RC1Paket deposu (OSV)
Maven:org.http4s:http4s-core0.23.0-RC1Paket deposu (OSV)
Maven:org.http4s:http4s-core1.0.0-M23Paket 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.

EPSS son 120 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.

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

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.

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ı

  • İ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
düşük · veriler okunabilir
Bütünlük
yok
Erişilebilirlik
yok

Etki, zafiyetli bileşenin ötesine geçebilir (kapsam değişir).

Saldırı vektörü
Ağ
Karmaşıklık
Düşük
Gereken yetki
Yok
Kullanıcı etkileşimi
Gerekmez
Kapsam
Değişir
Gizlilik etkisi
Düşük
Bütünlük etkisi
Yok
Erişilebilirlik etkisi
Yok

CVSS vektörü

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N

nvd-primary

Kök neden

Kullanıcının verdiği dosya adı izin verilen klasörle birleştiriliyor, ama sonucun hâlâ o klasörün içinde olup olmadığı kontrol edilmiyor.

Hatanın kod karşılığı

CWE-22 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ı

ts
const file = path.join(ROOT, req.query.name);res.sendFile(file);

Düzeltilmiş

ts
const file = path.resolve(ROOT, req.query.name);if (!file.startsWith(ROOT + path.sep)) {  return res.sendStatus(400);}res.sendFile(file);

Değişiklik günlüğü

  1. Düzeltme✗ → ✓

Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →

Referanslar

Tüm kayıtlar