Ruby through 2.2.7, 2.3.x through 2.3.4, and 2.4.x through 2.4.1 can expose arbitrary memory during a JSON.generate call.
Ruby through 2.2.7, 2.3.x through 2.3.4, and 2.4.x through 2.4.1 can expose arbitrary memory during a JSON.generate call. The issues lies in using strdup in ext/json/ext/generator/generator.c, which will stop after encountering a '\0' byte, returning a pointer to a string of length zero, which is not the length stored in space_len.
- Yayın
- 31 Ağu 2017
- Güncelleme
- 16 Haz 2026
- EPSS
- %9,4 · 95. yüzdelik
- CWE
- CWE-119
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
42
Planlayın
Olağan yama döngüsüne alın.
- CVSS
- 39 / 40 · 9.8 / 10
- CISA KEV
- 0 / 30 · Listede değil
- EPSS
- 3 / 30 · %9,4
Etkilenen sistemler
| Üretici | Ürün | CPE |
|---|---|---|
| ruby-lang | ruby | cpe:2.3:a:ruby-lang:ruby |
| debian | debian linux | cpe:2.3:o:debian:debian_linux |
| canonical | ubuntu linux | cpe:2.3:o:canonical:ubuntu_linux |
| redhat | enterprise linux desktop | cpe:2.3:o:redhat:enterprise_linux_desktop |
| redhat | enterprise linux server | cpe:2.3:o:redhat:enterprise_linux_server |
| redhat | enterprise linux server aus | cpe:2.3:o:redhat:enterprise_linux_server_aus |
| redhat | enterprise linux server eus | cpe:2.3:o:redhat:enterprise_linux_server_eus |
| redhat | enterprise linux server tus | cpe:2.3:o:redhat:enterprise_linux_server_tus |
| redhat | enterprise linux workstation | cpe:2.3:o:redhat:enterprise_linux_workstation |
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.
- canonical ubuntu linux14.04
- canonical ubuntu linux16.04
- canonical ubuntu linux17.10
- debian debian linux8.0
- debian debian linux9.0
- redhat enterprise linux desktop7.0
- redhat enterprise linux server7.0
- redhat enterprise linux server aus7.4
- redhat enterprise linux server aus7.6
- redhat enterprise linux server eus7.4
- redhat enterprise linux server eus7.5
- redhat enterprise linux server eus7.6
- redhat enterprise linux server tus7.4
- redhat enterprise linux server tus7.6
- redhat enterprise linux workstation7.0
- ruby-lang ruby2.2.7 dahil
- ruby-lang ruby2.3.0
- ruby-lang ruby2.3.1
- ruby-lang ruby2.3.2
- ruby-lang ruby2.3.3
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 |
|---|---|---|---|
| Alpine:v3.10 | ruby | 2.4.2-r0 öncesi | 2.4.2-r0 |
| Alpine:v3.3 | ruby | 2.2.8-r0 öncesi | 2.2.8-r0 |
| Alpine:v3.4 | ruby | 2.3.5-r0 öncesi | 2.3.5-r0 |
| Debian:7 | ruby1.9.1 | 1.9.3.194-8.1+deb7u6 öncesi | 1.9.3.194-8.1+deb7u6 |
| Debian:8 | ruby2.1 | 2.1.5-2+deb8u4 öncesi | 2.1.5-2+deb8u4 |
| Debian:9 | ruby2.3 | 2.3.3-1+deb9u1 öncesi | 2.3.3-1+deb9u1 |
| Red Hat:enterprise_linux:7::client | ruby | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-debuginfo | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-devel | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-doc | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-irb | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-libs | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | ruby-tcltk | 0:2.0.0.648-33.el7_4 öncesi | 0:2.0.0.648-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-bigdecimal | 0:1.2.0-33.el7_4 öncesi | 0:1.2.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-io-console | 0:0.4.2-33.el7_4 öncesi | 0:0.4.2-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-json | 0:1.7.7-33.el7_4 öncesi | 0:1.7.7-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-minitest | 0:4.3.2-33.el7_4 öncesi | 0:4.3.2-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-psych | 0:2.0.0-33.el7_4 öncesi | 0:2.0.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-rake | 0:0.9.6-33.el7_4 öncesi | 0:0.9.6-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygem-rdoc | 0:4.0.0-33.el7_4 öncesi | 0:4.0.0-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygems | 0:2.0.14.1-33.el7_4 öncesi | 0:2.0.14.1-33.el7_4 |
| Red Hat:enterprise_linux:7::client | rubygems-devel | 0:2.0.14.1-33.el7_4 öncesi | 0:2.0.14.1-33.el7_4 |
| Red Hat:rhel_software_collections:3::el6 | rh-ruby22-ruby | 0:2.2.9-19.el6 öncesi | 0:2.2.9-19.el6 |
| Red Hat:rhel_software_collections:3::el6 | rh-ruby22-ruby-debuginfo | 0:2.2.9-19.el6 öncesi | 0:2.2.9-19.el6 |
+96
Aynı üründe
ruby-lang: tüm kayıtlarAynı birincil ürünün en yüksek skorlu diğer kayıtları.
- CVE-2017-17405Ruby before 2.4.3 allows Net::FTP command injection.57Planlayın
- CVE-2008-3656Algorithmic complexity vulnerability in the WEBrick::HTTPUtils.split_header_value function in WEBrick::HTTP::DefaultFileHandler in WEBrick i52Planlayın
- CVE-2021-28966In Ruby through 3.0 on Windows, a remote attacker can submit a crafted path when a Web application handles a parameter with TmpDir.47Planlayın
- CVE-2017-17790The lazy_initialize function in lib/resolv.rb in Ruby through 2.4.3 uses Kernel#open, which might allow Command Injection attacks, as demons41Planlayın
- CVE-2016-2339An exploitable heap overflow vulnerability exists in the Fiddle::Function.new "initialize" function functionality of Ruby.41Planlayın
- CVE-2016-2337Type confusion exists in _cancel_eval Ruby's TclTkIp class method.41Planlayı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 |
|---|---|---|
| alpine:ruby | 2.4.2-r0 · Alpine:v3.10 | Paket deposu (OSV) |
| debian:ruby1.9.1 | 1.9.3.194-8.1+deb7u6 · Debian:7 | Paket deposu (OSV) |
| debian:ruby2.1 | 2.1.5-2+deb8u4 · Debian:8 | Paket deposu (OSV) |
| debian:ruby2.3 | 2.3.3-1+deb9u1 · Debian:9 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby-debuginfo | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby-devel | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby-doc | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby-irb | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-ruby-libs | 0:2.4.2-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-bigdecimal | 0:1.3.0-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-did_you_mean | 0:1.1.0-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-io-console | 0:0.4.6-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-json | 0:2.0.4-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-minitest | 0:5.10.1-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| red hat:rh-ruby24-rubygem-net-telnet | 0:0.1.1-86.el6 · Red Hat:rhel_software_collections:3::el6 | Paket deposu (OSV) |
| suse:ruby2.1 | 2.1.9-19.3.2 · SUSE:HPE Helion OpenStack 8 | Paket deposu (OSV) |
| suse:yast2-ruby-bindings | 3.1.53-9.8.1 · SUSE:OpenStack Cloud 7 | 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.
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ı
Ü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.
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-119 · Improper Restriction of Operations within the Bounds of a Memory BufferCVSS vektörü
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
nvd-primary
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)
- Buffer Overflow via Environment VariablesCAPEC-10olasılık: High · High
- Overflow BuffersCAPEC-100olasılık: High · Very High
- Buffer ManipulationCAPEC-123olasılık: High · Very High
- Client-side Injection-induced Buffer OverflowCAPEC-14olasılık: Medium · High
- Filter Failure through Buffer OverflowCAPEC-24olasılık: High · High
- MIME ConversionCAPEC-42olasılık: High · High
- Overflow Binary Resource FileCAPEC-44olasılık: High · Very High
- Buffer Overflow via Symbolic LinksCAPEC-45olasılık: High · High
ATT&CK teknikleri
—
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
- github.com/flori/json/commit/8f782fd8e181d9cfe9387ded43a5ca9692266b85
- www.securityfocus.com/bid/100890
- www.securitytracker.com/id/1039363
- www.securitytracker.com/id/1042004
- access.redhat.com/errata/RHSA-2017:3485
- access.redhat.com/errata/RHSA-2018:0378
- access.redhat.com/errata/RHSA-2018:0583
- access.redhat.com/errata/RHSA-2018:0585
- bugs.ruby-lang.org/issues/13853
- lists.debian.org/debian-lts-announce/2018/07/msg00012.html
- security.gentoo.org/glsa/201710-18
- usn.ubuntu.com/3685-1/
- www.debian.org/security/2017/dsa-3966
- www.ruby-lang.org/en/news/2017/09/14/ruby-2-2-8-released/
- www.ruby-lang.org/en/news/2017/09/14/ruby-2-3-5-released/
Üretici bildirimleri ve resmî kayıtlar. İstismar/PoC bağlantıları bilinçli olarak dışarıda bırakıldı.