CVE-2025-47774 in Vyperthông tin

Tóm tắt

Bởi VulDB • 13/06/2026

Vyper là ngôn ngữ lập trình mang phong cách Python dành cho Ethereum Virtual Machine (EVM). Trong các phiên bản từ đầu đến bao gồm 0.4.2rc1, hàm dựng sẵn `slice()` có thể bỏ qua các tác dụng phụ khi độ dài kết quả bằng 0 và chuỗi byte nguồn là một hàm dựng sẵn (`msg.data` hoặc `.code`). Nguyên nhân là do đối với những vị trí nguồn này, kiểm tra `length >= 1` bị bỏ qua. Kết quả là một chuỗi byte có độ dài 0 được tạo ra bởi `slice()` có thể được chuyển đến `make_byte_array_copier`, hàm này sẽ bỏ qua việc đánh giá đối số nguồn của nó khi chiều dài tối đa bằng 0. Tác động là các tác dụng phụ trong đối số `start` có thể bị bỏ qua khi đối số `length` bằng 0, ví dụ: `slice(msg.data, self.do_side_effect(), 0)`. Bản sửa lỗi trong pull request 4645 cấm mọi lời gọi hàm `slice()` với độ dài bằng 0, bao gồm cả các vị trí đặc biệt được thảo luận trong bản thông báo này. Bản sửa lỗi dự kiến sẽ có mặt trong phiên bản 0.4.2.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

chịu trách nhiệm

GitHub M

Đặt trước

09/05/2025

Tiết lộ

15/05/2025

Kiểm duyệt

được chấp nhận

EPSS

0.00459

KEV

không

Các hoạt động

rất thấp

Nguồn

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!