CVSS 8.7 HIGH

OpenVM's OpenVmHalo2Verifier self-call can bypass proof verification

Công bố
Cập nhật
Lần đầu thấy
Nguồn
NVD, CVE.org

Mô tả

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.

Điểm và phân loại

CVSS
8.7 HIGH v4.0
Nguồn điểm
NVD
Mức độ (theo nguồn)
HIGH
EPSS
—
CWE
CWE-754

Vector CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Ảnh hưởng

Sản phẩm

  • openvm-org openvm

Vì sao được giữ

  • CVSS 8.7 >= 8.0

Loại tác động

Không nhận ra loại tác động nào từ CWE, vector hay mô tả.

Dữ liệu riêng của nguồn

CVE.org · Đơn vị cấp mã
GitHub_M
CVE.org · SSVC
Tự động hoá được: yes · Khai thác: none · Tác động kỹ thuật: partial

Tham khảo