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

Malicious dependencies can inject arbitrary JavaScript into cargo-generated timing reports

Noroxi değerlendirmesi

Öncelik: İzleyin (aksiyon skoru 24/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,89 (FIRST EPSS); kayıtların %59,2 kadarından yüksek.
  • İnternetten erişebilen herkes 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: cargo (crates.io) 1.72; rust-cargo (Debian:13) 0.76.0-1; rust (openSUSE:Leap 15.4) 1.72.0-150400.24.24.1.

Şimdilik düşük öncelik. cargo (crates.io) 1.72; rust-cargo (Debian:13) 0.76.0-1; rust (openSUSE:Leap 15.4) 1.72.0-150400.24.24.1 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

Cargo downloads a Rust project’s dependencies and compiles the project. Starting in Rust 1.60.0 and prior to 1.72, Cargo did not escape Cargo feature names when including them in the report generated by `cargo build --timings`. A malicious package included as a dependency may inject nearly arbitrary HTML here, potentially leading to cross-site scripting if the report is subsequently uploaded somewhere. The vulnerability affects users relying on dependencies from git, local paths, or alternative registries. Users who solely depend on crates.io are unaffected. Rust 1.60.0 introduced `cargo build --timings`, which produces a report of how long the different steps of the build process took. It includes lists of Cargo features for each crate. Prior to Rust 1.72, Cargo feature names were allowed to contain almost any characters (with some exceptions as used by the feature syntax), but it would produce a future incompatibility warning about them since Rust 1.49. crates.io is far more stringent about what it considers a valid feature name and has not allowed such feature names. As the feature names were included unescaped in the timings report, they could be used to inject Javascript into the page, for example with a feature name like `features = ["<img src='' onerror=alert(0)"]`. If this report were subsequently uploaded to a domain that uses credentials, the injected Javascript could access resources from the website visitor. This issue was fixed in Rust 1.72 by turning the future incompatibility warning into an error. Users should still exercise care in which package they download, by only including trusted dependencies in their projects. Please note that even with these vulnerabilities fixed, by design Cargo allows arbitrary code execution at build time thanks to build scripts and procedural macros: a malicious dependency will be able to cause damage regardless of these vulnerabilities. crates.io has server-side checks preventing this attack, and there are no packages on crates.io exploiting these vulnerabilities. crates.io users still need to excercise care in choosing their dependencies though, as remote code execution is allowed by design there as well.

OrtaCVSS 6.1 · v3.1—İstismar yok Düzeltme var
Güncelleme
17 Haz 2026
EPSS
%0,8 · 59. yüzdelik

Rapor araçları

JSON

Aksiyon skoru

24

İzleyin

Şimdilik düşük öncelik.

CVSS
24 / 40 · 6.1 / 10
CISA KEV
0 / 30 · Listede değil
EPSS
0 / 30 · %0,8

CISA SSVC kararı

Sömürü
yok
Otomatikleştirilebilir
hayır
Teknik etki
kısmi

Vulnrichment: CISA'nın karar ağacı girdileri.

CNA ile NVD puanı

NVD
6,1
CNA · GitHub_M
6,1
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.

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.

CVE-2023-40030 kaydını takip edin

Ne zaman haber verilir

  • CISA KEV'e girdiğinde
  • istismar kodu ortaya çıktığında ya da silahlaştırıldığında
  • kayıt güncellendiğinde (düzeltme sürümü dahil)
  • EPSS bir haftada 20 puan arttığında

Günde bir e-posta özeti (06:00 UTC); webhook bağlarsanız KEV ve silahlaştırılmış istismar anında.

Ücretsiz hesapla ayrıca

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

  • Stack uyarıları: kullandığınız ürün ve sürümleri ekleyin, onları etkileyen yeni CVE'ler size gelsin
  • Site izleme: 1 site, kesintide anında e-posta
  • Alan adınızı ekleyin: alt alan adları ve ele geçirme riski her hafta taransın (1 alan adı)
  • Güvenlik araçlarında saatte 10 tarama (hesapsız günde 3), API anahtarı ve MCP
  • Taramalarınız tek panelde: bulgular, son taramada değişenler, alan adı ya da müşteri başına rapor (PDF, paylaşım bağlantısı)
Tüm ücretsiz araçlar

E-postayla kayıt olun · Hesabınız var mı? Giriş yapın

Ücretsiz hesap, kart istenmez. Takibi istediğiniz an bırakırsınız.

WordPress siteniz mi var? WP Lens ile ücretsiz tarayın

Sürümünüz etkileniyor mu? Kontrol edin

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 isteyin

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

ÜreticiÜrün
rust-langrust

XSS'in etkisini sınırlayın

Bu bir siteler arası betik (XSS) açığı. İyi yapılandırılmış bir Content-Security-Policy açığı kapatmaz ama etkisini ciddi ölçüde azaltır. Sitenizin CSP'sini ve diğer güvenlik başlıklarını ücretsiz kontrol edin.

Güvenlik başlıklarını kontrol et

Etkilenen sürümler

NVD sürüm aralıkları (katalogdaki ürünler için). Stack’inize sürümle eklerseniz eşleşme bunlarla yapılır.

  • rust-lang rust1.60.0 ve sonrası · 1.72.0 öncesi

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

  • rust-lang cargo

    • >= 1.60.0, < 1.72etkilenir

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
crates.iocargo1.60.0 itibarıyla · 1.72 öncesi1.72
Debian:12cargo0 itibarıyla—
Debian:12rust-cargo0 itibarıyla—
Debian:13rust-cargo0.76.0-1 öncesi0.76.0-1
openSUSE:Leap 15.4rust1.72.0-150400.24.24.1 öncesi1.72.0-150400.24.24.1
openSUSE:Leap 15.4rust1.721.72.0-150400.9.3.1 öncesi1.72.0-150400.9.3.1
openSUSE:Tumbleweedrust1.721.72.1-1.1 öncesi1.72.1-1.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4rust1.72.0-150400.24.24.1 öncesi1.72.0-150400.24.24.1
SUSE:Linux Enterprise Module for Development Tools 15 SP4rust1.721.72.0-150400.9.3.1 öncesi1.72.0-150400.9.3.1

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

  • CVE-2021-31162In the standard library in Rust before 1.52.0, a double free can occur in the Vec::from_iter function if freeing the element panics.
    40Planlayın
  • CVE-2021-28879In the standard library in Rust before 1.52.0, the Zip implementation can report an incorrect size due to an integer overflow.
    40Planlayın
  • CVE-2020-36318In the standard library in Rust before 1.49.0, VecDeque::make_contiguous has a bug that pops the same element more than once under certain c
    40Planlayın

Bu üründe bundan önce ve sonra yayımlananlar

  • ← ÖncekiCVE-2021-299227 Ağu 2021 · library/std/src/net/parser.rs in Rust before 1.53.0 does not properly consider extraneous zero characters at the beginning of an IP address
    37İzleyin
  • ← ÖncekiCVE-2022-2165820 Oca 2022 · Race condition in std::fs::remove_dir_all in rustlang
    25İzleyin
  • Sonraki →CVE-2024-434024 Eyl 2024 · Rust OS Command Injection/Argument Injection vulnerability
    35İ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
crates.io:cargo1.72Paket deposu (OSV)
debian:rust-cargo0.76.0-1 · Debian:13Paket deposu (OSV)
opensuse:rust1.72.0-150400.24.24.1 · openSUSE:Leap 15.4Paket deposu (OSV)
opensuse:rust1.721.72.0-150400.9.3.1 · openSUSE:Leap 15.4Paket deposu (OSV)
suse:rust1.72.0-150400.24.24.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP4Paket deposu (OSV)
suse:rust1.721.72.0-150400.9.3.1 · SUSE:Linux Enterprise Module for Development Tools 15 SP4Paket 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ı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.

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.
  • 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
düşük · veriler okunabilir
Bütünlük
düşük · veri ya da yapılandırma değiştirilebilir
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
Gerekir
Kapsam
Değişir
Gizlilik etkisi
Düşük
Bütünlük etkisi
Düşük
Erişilebilirlik etkisi
Yok

CVSS vektörü

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

nvd-primary

Kök neden

Kullanıcı içeriği HTML olarak sayfaya ekleniyor. Tarayıcı içeriği veri olarak değil, kod olarak yorumlar.

Hatanın kod karşılığı

CWE-79 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
commentEl.innerHTML = comment.body;

Düzeltilmiş

ts
commentEl.textContent = comment.body;

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

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