CVE-2025-47774 in Vyperالمعلومات

الملخص

بحسب VulDB • 19/05/2026

Vyper هو لغة البرمجة ذات الطابع البايثوني (Pythonic) لآلة الإيثريوم الافتراضية (Ethereum Virtual Machine). في الإصدارات التي تصل إلى 0.4.2rc1 وتشملها، يمكن للدالة المدمجة `slice()` تخطي الآثار الجانبية (side effects) عندما يكون طول المخرجات 0، وكان مصدر سلسلة البايتات (bytestring) دالة مدمجة (`msg.data` أو `.code`). يعود السبب في ذلك إلى أنه بالنسبة لمواقع المصدر هذه، يتم تخطي التحقق من أن `length >= 1`. النتيجة هي أنه يمكن تمرير سلسلة بايتات بطول 0 تم إنشاؤها باستخدام `slice` إلى `make_byte_array_copier`، والتي تتخطى تقييم وسيطتها المصدرية عندما يكون الحد الأقصى للطول 0. الأثر المترتب على ذلك هو أنه قد يتم تخطي الآثار الجانبية الموجودة في وسيط `start` عندما يكون وسيط `length` مساوياً لـ 0، على سبيل المثال: `slice(msg.data, self.do_side_effect(), 0)`. يعالج الإصلاح الوارد في طلب السحب (pull request) رقم 4645 هذه المشكلة من خلال منع أي استدعاء لـ `slice()` بطول 0، بما في ذلك الحالات الخاصة المذكورة في هذا البيان. من المتوقع أن يكون هذا الإصلاح جزءاً من الإصدار 0.4.2.

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

مسؤول

GitHub M

حجز

09/05/2025

إفشاء

15/05/2025

الاعتدال

تمت الموافقة

إدخال

VDB-309106

EPSS

0.00459

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!