CVE-2024-45409: The Ruby SAML library vulnerable to a SAML authentication bypass via Incorrect XPath selector
Noroxi değerlendirmesi
Öncelik: Planlayın (aksiyon skoru 43/100)
- Hazır saldırı modülü yayımlanmış (Nuclei); sömürmek özel uzmanlık gerektirmiyor.
- Herkese açık kavram kanıtı (PoC) kodu var (GitHub); sahada sömürüldüğüne dair kayıt yok.
- Önümüzdeki 30 günde sömürülme olasılığı %12,4 (FIRST EPSS); kayıtların %96,2 kadarından yüksek.
- İnternetten erişebilen herkes tetikleyebilir. Hesap ya da parola gerekmez. Kullanıcının bir şey yapması gerekmez. Özel bir koşul gerekmez; tekrarlanabilir.
- CISA'ya göre saldırı otomatikleştirilebilir: toplu taramalarla hedef bulunabilir.
- Düzeltilmiş sürüm: SAML-Toolkits ruby-saml 1.17.0.
- Ulusal siber güvenlik bildirimlerinde (siberguvenlik.gov.tr) 1 kez anıldı.
Olağan yama döngüsüne alın. SAML-Toolkits ruby-saml 1.17.0 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
The Ruby SAML library is for implementing the client side of a SAML authorization. Ruby-SAML in <= 12.2 and 1.13.0 <= 1.16.0 does not properly verify the signature of the SAML Response. An unauthenticated attacker with access to any signed saml document (by the IdP) can thus forge a SAML Response/Assertion with arbitrary contents. This would allow the attacker to log in as arbitrary user within the vulnerable system. This vulnerability is fixed in 1.17.0 and 1.12.3.
- Yayın
- 10 Eyl 2024
- Güncelleme
- 4 Kas 2026
- EPSS
- %12,4 · 96. yüzdelik
- CWE
- CWE-347
Rapor araçları
Aksiyon skoru
43
Olağan yama döngüsüne alın.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 4 / 30 · %12,4
CISA SSVC kararı
- Sömürü
- kavram kanıtı
- Otomatikleştirilebilir
- evet
- Teknik etki
- tam
Vulnrichment: CISA'nın karar ağacı girdileri.
CNA ile NVD puanı
- NVD
- 9,8
- CNA · GitHub_M
- 10,0
- 0,2 puan fark
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A: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
- Kavram kanıtı var, silahlaştırılmış modül yok
- Düzeltme yayımlandı
Bunlardan biri değişirse günlük e-posta özetinde haber veririz.
Sürümünüz etkileniyor mu? Kontrol edinNoroxi 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.
| Üretici | Ürün | CPE |
|---|---|---|
| onelogin | ruby-saml | cpe:2.3:a:onelogin:ruby-saml |
| omniauth | omniauth saml | cpe:2.3:a:omniauth:omniauth_saml |
| gitlab | gitlab | cpe:2.3:a:gitlab:gitlab |
Ü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.
SAML-Toolkits ruby-saml
- < 1.12.3, >= 1.13.0, < 1.17.0etkilenir
Etkilenen sürümler · NVD (10)
NVD sürüm aralıkları (katalogdaki ürünler için). Stack’inize sürümle eklerseniz eşleşme bunlarla yapılır.
- gitlab gitlab17.3.0 ve sonrası · 17.3.3 öncesi
- gitlab gitlab16.11.10 öncesi
- gitlab gitlab17.0.0 ve sonrası · 17.0.8 öncesi
- gitlab gitlab17.1.0 ve sonrası · 17.1.8 öncesi
- gitlab gitlab17.2.0 ve sonrası · 17.2.7 öncesi
- omniauth omniauth saml1.10.3 dahil
- omniauth omniauth saml2.0.0
- omniauth omniauth saml2.1.0
- onelogin ruby-saml1.12.3 öncesi
- onelogin ruby-saml1.13.0 ve sonrası · 1.17.0 öncesi
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:11 | ruby-saml | 1.11.0-1+deb11u1 öncesi | 1.11.0-1+deb11u1 |
| Debian:12 | ruby-saml | 1.13.0-1+deb12u1 öncesi | 1.13.0-1+deb12u1 |
| RubyGems | omniauth-saml | 2.0.0 itibarıyla · 2.1.2 öncesi | 2.1.2 |
| RubyGems | omniauth-saml | 2.2.0 itibarıyla · 2.2.1 öncesi | 2.2.1 |
| RubyGems | omniauth-saml | 1.10.5 öncesi | 1.10.5 |
| RubyGems | ruby-saml | 1.13.0 itibarıyla · 1.17.0 öncesi | 1.17.0 |
| RubyGems | ruby-saml | 1.12.3 öncesi | 1.12.3 |
Aynı üründe
onelogin: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2017-11428Multiple SAML libraries may allow authentication bypass via incorrect XML canonicalization and DOM traversal40Planlayın
- CVE-2015-20108xml_security.rb in the ruby-saml gem before 1.0.0 for Ruby allows XPath injection and code execution because prepared statements are not…39İzleyin
- CVE-2025-66568ruby-saml Libxml2 Canonicalization errors can bypass Digest/Signature validation37İzleyin
Bu üründe bundan önce ve sonra yayımlananlar
- ← ÖncekiCVE-2016-569723 Oca 2017 · Ruby-saml before 1.3.0 allows attackers to perform XML signature wrapping attacks via unspecified vectors.30İzleyin
- Sonraki →CVE-2025-665679 Ara 2025 · ruby-saml has a SAML authentication bypass due to namespace handling (parser differential)37İ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 |
|---|---|---|
| SAML-Toolkits ruby-saml | 1.17.0 · description | Üretici (CNA) |
| debian:ruby-saml | 1.13.0-1+deb12u1 · Debian:12 | Paket deposu (OSV) |
| RubyGems:omniauth-saml | 1.10.5 | Paket deposu (OSV) |
| RubyGems:omniauth-saml | 2.1.2 | Paket deposu (OSV) |
| RubyGems:omniauth-saml | 2.2.1 | Paket deposu (OSV) |
| RubyGems:ruby-saml | 1.12.3 | Paket deposu (OSV) |
| RubyGems:ruby-saml | 1.17.0 | Paket deposu (OSV) |
İstismar durumu
Kavram kanıtı mevcut
Kamuya açık bir kavram kanıtı ya da tespit imzası var. İstismar bilgisi dışarıda; yamayı geciktirmeyin.
Kanıt
- Nuclei tespit şablonu ×1
- GitHub’da kavram kanıtı deposu ×2
Noroxi istismar kodu barındırmaz ve istismar bağlantısı vermez. Metasploit modül adı ve Nuclei şablon kimliği gösterilir (kod değil, ad); Exploit-DB kayıtları ve PoC depoları yalnızca sayı olarak verilir.
| Kaynak | Tür | Tarih |
|---|---|---|
| Nuclei tespit şablonu | Nuclei şablonu CVE-2024-45409 | — |
| GitHub’da kavram kanıtı deposu | stars:86 | 2024-10-07 |
| GitHub’da kavram kanıtı deposu | stars:0 | 2026-10-25 |
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
- İlk kavram kanıtı+26 gün
- Bugün14 Kas 2026+794 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.
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-2025-66567455 gün araylaruby-saml has a SAML authentication bypass due to namespace handling (parser differential)37İzleyin
- CVE-2025-66568455 gün araylaruby-saml Libxml2 Canonicalization errors can bypass Digest/Signature validation37İzleyin
Bug bounty kapsamı
Ürünün üreticisi herkese açık bir programda görünüyor. Eşleşme ad üzerinden yapıldı; kapsam metnini programda doğrulayın.
Ulusal bildirim (Siber Güvenlik Başkanlığı / USOM)
Bu kaydı anan resmi güvenlik bildirimleri; çözüm önerisi kurumun sayfasında.
- TR-24-1634 · 8 Eki 2024(GitLab Ruby-SAML Güvenlik Bildirimi )
Bu kayıtta yok: araştırmacı kredisi.
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
- 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ü
- Ağ
- Karmaşıklık
- Düşük
- Gereken yetki
- Yok
- Kullanıcı etkileşimi
- Gerekmez
- 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-347 · Improper Verification of Cryptographic SignatureCVSS vektörü
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
Kök neden
Doğrulayıcı, hangi algoritmayla doğrulama yapacağını token’ın kendi beyanından alıyor. Güvenilmeyen veri, kendi doğrulama kuralını belirlemiş olur.
Hatanın kod karşılığı
CWE-347 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 claims = jwt.verify(token, publicKey);Düzeltilmiş
const claims = jwt.verify(token, publicKey, {
algorithms: ["RS256"],
issuer: "https://kimlik.ornek.com",
audience: "portal",
});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üğü (1)
- Düzeltme✗ → ✓
Takip ettiğiniz kayıtlarda bu değişiklikler bildirim olarak da gelir. →
Referanslar
Tüm referansları göster (7 daha)Daha az göster
- github.com/SAML-Toolkits/ruby-saml/commit/4865d030cae9705ee5cdb12415c654c634093ae7
- github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-jw9c-mfg7-9rx2
- github.com/omniauth/omniauth-saml/security/advisories/GHSA-cvp8-5r8g-fhvq
- lists.debian.org/debian-lts-announce/2024/11/msg00006.html
- news.ycombinator.com/item?id=41586031
- security.netapp.com/advisory/ntap-20240926-0008/
- ssoready.com/blog/engineering/ruby-saml-pwned-by-xml-signature-wrapping-attacks/
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.