CVE-2025-47774 in Vyper
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.