Zafiyet.live Keşfet. Değerlendir. Düzelt. Doğrula.
  • Yama var
  • Son 7 gün
  • CWE-754

CVE-2026-62334

OpenVM OpenVmHalo2Verifier, kanıt doğrulamasını atlatılabilir hale getiriyor

openvm-org openvm

Yüksek 8,7 CVSS 4.0
Yayımlandı
Güncellendi
31 Eki 2026
Açık yaşı
0 gün
Kaydı açan
GitHub_M

Yönetici özeti

Bu açık, zk tabanlı bir sistemin doğrulama mekanizmasının atlatılmasına izin verebilir; bu durumda sistem sahte işlemleri geçerli sayabilir. Etkilenen uygulamalar için güvenlik açısından yüksek öncelikli bir güncelleme gerekir.

ÖzetTürkçe

OpenVM zkVM çerçevesindeki OpenVmHalo2Verifier sözleşmesinin verify fonksiyonu, kullanıcı kontrolündeki proofData verisinden ham çağrı verisi oluşturup kendisine staticcall yapıyor ve başarılı çağrıyı kanıtın kabulü olarak değerlendiriyor. Kanıtın ilk dört baytı sarmalayıcıdaki başka bir harici fonksiyon seçicisiyle eşleşirse, çağrı Halo2 doğrulayıcısı yerine başarılı dönen başka bir fonksiyona yönlendirilebiliyor. Bu durum, 1.7.0 öncesi 1.x sürümlerini ve 2.0 ile 2.1 ön sürümlerini etkiliyor; üretilmiş Solidity sarmalayıcısını kullanan uygulamalar etkilenir.

Saldırgan ne yapabilir?

Saldırgan, kanıt sonekini, akümülatörü, uygulama taahhütlerini veya genel değerleri kontrol etmeden keyfi uygulama taahhütlerini ve genel değerleri kabul ettirebilir; bu da sahte doğrulanmış işlemlere yol açabilir.

Kaynaktaki açıklama (İngilizce)

OpenVM is a performant and modular zkVM framework built for customization and extensibility. Before 1.7.0 in the 1.x line and in affected 2.0 and 2.1 prereleases, OpenVmHalo2Verifier.verify constructs raw proof calldata from user-controlled proofData, performs a staticcall to address(this), and treats a successful call as proof acceptance. If the first four proof bytes match another external selector exposed by the wrapper, dispatch can invoke a successful non-verifier function instead of the generated Halo2 fallback verifier. Applications using the generated Solidity wrapper can consequently accept arbitrary app commitments and public values without checking the proof suffix, accumulator, app commitments or public values. This issue is fixed in versions 1.7.0, 2.0.0-rc.3 and 2.1.0-preview.

Ne yapmalı?

  1. OpenVM'i 1.7.0 veya üzeri bir sürüme yükseltin; 2.x hattını kullanıyorsanız 2.0.0-rc.3 veya 2.1.0-preview ya da sonrası sürümlere geçin. Üretici
  2. Üretilmiş Solidity sarmalayıcısını yeniden üretin ve güncellenmiş sözleşmeyi dağıtın; eski sözleşmeyi doğrulayıcı olarak kullanmaya devam etmeyin. Üretici
  3. Güncelleme yapılana kadar, kanıt doğrulamasına dayanan işlemleri geçici olarak durdurun veya ek bağımsız doğrulama katmanı ekleyin. Genel öneri
  4. Doğrulayıcı sözleşmesinin çağrı kayıtlarını ve kabul edilen kanıtları inceleyerek beklenmeyen fonksiyon çağrılarının olup olmadığını kontrol edin. Genel öneri

Ek önlemler

  • Doğrulayıcı sözleşmelerini dağıtımdan önce bağımsız güvenlik incelemesinden geçirin. Genel öneri
  • Sözleşmenin harici fonksiyon seçicilerini ve yönlendirme mantığını periyodik olarak gözden geçirin. Genel öneri

Etkilenen sürümler1 yazılım

YazılımEtkilenenDüzeltildiği sürüm
openvm-org openvm < 1.7.0 1.7.0

Kaynaklar11 kaynak

Kayıt geçmişi

  1. Yayımlandı

İlgili açıklar

Türkçe metin, resmi kayıtlardaki bilgilerle yapay zekâ yardımıyla yazıldı ve yayından önce otomatik kontrollerden geçti. Bir değişikliği uygulamadan önce üreticinin duyurusuna mutlaka bakın.