CVE-2026-45137
Açıklama
Anchor, Solana programları yazmak için çeşitli kullanışlı geliştirici araçları sağlayan bir çerçevedir. 1.0.0 ile 1.0.2 sürümleri arasında, bir mantık hatası, sistem program kimliği gerektiren Anchor programlarının herhangi bir program kimliğini kabul etmesine neden olur; bu durum, sistem programı talimatlarını çağıran programlarda potansiyel keyfi CPI ile sonuçlanan yanlış varsayımlara yol açar. Program<'a, T> için TryFrom<&'a AccountInfo<'a>> uygulamasında, Anchor'ın herhangi bir yürütülebilir hesaba mı yoksa belirli bir hesaba mı izin vermesi gerektiğini kontrol etmek için T'nin kimliği Pubkey::default() ile karşılaştırılır; çünkü hiçbir T sağlanmadığında, T varsayılan olarak () olur ve bu da Pubkey::default() döndürerek Id::id()'yi uygular. Bu durum, T = () ve T = System (kimliği Pubkey::default() olan) durumlarının aynı davranışa sahip olmasına neden olur; her ikisi de herhangi bir yürütülebilir hesaba izin verir. Anchor ile oluşturulan programlar, Anchor çalışma zamanının Program<'a, System> türünde iletilen programların gerçekten sistem programı olduğunu doğruladığını varsayar. Saldırganın sistem programı yerine herhangi bir programı iletebilmesi nedeniyle, programlar iletilen sistem programını kullanarak sistem programına CPI çağrıları yapmaya çalıştığında, bu yanlış varsayım keyfi CPI veya ödeme atlatmaya yol açabilir. Bu güvenlik açığı 1.0.2 sürümünde düzeltilmiştir.
Nasıl düzeltilir
- anchor-lang anchor1.0.2 ya da sonraki bir sürüm
Etkilenen ürünler
| Ürün | Etkilenen sürümler | Düzeltildiği sürüm |
|---|---|---|
| anchor-lang anchor | 1.0.0 ≤ v < 1.0.2 | 1.0.2 |
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.
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.