CVE-2024-38365

Yüksek

Açıklama

btcd, Go (golang) ile yazılmış alternatif bir tam düğüm (full node) bitcoin uygulamasıdır. btcd Bitcoin istemcisi (versiyonlar 0.10 ile 0.24), Bitcoin Core'un "FindAndDelete()" işlevselliğini doğru şekilde yeniden uygulamamıştır. Bu mantık konsensüs açısından kritiktir: diğer Bitcoin istemcileriyle davranış farkı, btcd istemcilerinin geçersiz bir Bitcoin bloğunu kabul etmesine (veya geçerli olanı reddetmesine) yol açabilir. Bu konsensüs hatası, bir zincir bölünmesine (geçersiz bir Bitcoin bloğunun kabul edilmesi) neden olmak için kullanılabilir veya btcd düğümlerine DoS saldırısı düzenlemek (geçerli bir Bitcoin bloğunun reddedilmesi) için istismar edilebilir. Bir saldırgan, FindAndDelete fonksiyonunun eşleşme döndürmediği ancak removeOpCodeByData fonksiyonunun döndürdüğü standart bir işlem oluşturarak btcd'nin farklı bir sighash almasını sağlayabilir ve bu da zincir bölünmesine yol açabilir. Önemli olan nokta, bu zafiyetin herhangi bir Bitcoin kullanıcısı tarafından uzaktan istismar edilebilmesidir ve herhangi bir hash gücü gerektirmez. Bunun nedeni, davranış farkının, bir Bitcoin bloğuna dahil edilmeden önce P2P ağı üzerinden aktarılan "standart" bir Bitcoin işlemi ile tetiklenebilmesidir. `removeOpcodeByData(script []byte, dataToRemove []byte)`, `script` içerisindeki `dataToRemove` içeren tüm veri itmelerini kaldırır. Ancak, `FindAndDelete` yalnızca tam eşleşmeleri kaldırır. Örneğin; `script = "<data> <data||foo>"` ve `dataToRemove = "data"` durumunda btcd her iki veri itmesini de kaldırırken, Bitcoin Core'un `FindAndDelete` fonksiyonu yalnızca ilk `<data>` itmesini kaldırır. Bu sorun btcd versiyon v0.24.2 ile düzeltilmiştir. Kullanıcıların yükseltme yapmaları önerilir. Bu sorun için bilinen bir geçici çözüm yoktur.

ÖnemYüksek
CVSS7.4
İstismar olasılığı—
ÜrünBtcd
Yayın11 Eki 2024
İlk görülme11 Eki 2024
Zayıflık türüCWE-670CWE-670

Nasıl düzeltilir

Güncelleyin
  • btcd_project btcd0.24.2 ya da sonraki bir sürüm
  • github.com/btcsuite/btcd0.24.2-beta.rc1 ya da sonraki bir sürüm

Etkilenen ürünler

ÜrünEtkilenen sürümlerDüzeltildiği sürüm
btcd_project btcd0.10.0 ≤ v < 0.24.20.24.2
github.com/btcsuite/btcdGov < 0.24.2-beta.rc10.24.2-beta.rc1

Sürümünüzü kontrol edin

Ürünü seçin ve kullandığınız sürümü yazın; sürümün etkilenen aralıkta olup olmadığını görün.

Intelligence 360 paketinde

Attack Surface Management

Alan adlarınıza bağlı varlıkları, bu varlıklarda çalışan teknolojileri ve bilinen zafiyetleri tek listede görün.

CVE-2024-38365 · Btcd · Dark Radar