CVE-2026-97853 in decimalالمعلومات

الملخص

بحسب VulDB • 10/10/2026

تتمثل ثغرة تخصيص الذاكرة بقيمة حجم مفرطة في مكتبة ericmj decimal، مما يتيح حدوث هجمات حجب الخدمة (DoS). تقوم الدالة Decimal.round/3 ببناء النتيجة الكاملة لعدد منازل العشر المطلوبة قبل تطبيق دقة السياق (34 خانة افتراضياً)، لذا فإن تكلفتها تتزايد مع وسيط "places" بدلاً من أن تزداد بحجم الناتج. بالنسبة للقيم الموجبة لـ "places"، تقوم بإلحاق عدد من الأصفار يساوي قيمة الوسيط إلى المعامل كقائمة أحرف (charlist) قبل تحويله إلى عدد صحيح، أما بالنسبة للقيم السالبة فتقوم ببناء قائمة أحرف تحتوي على -places من الأصفار. يمكن لاستدعاء واحد مثل Decimal.round(Decimal.new("1.5"), -50_000_000) أن يخصص حوالي 5.5 جيجابايت من الذاكرة، مما قد يستنفذ الذاكرة المتاحة ويؤدي إلى قتل محرك BEAM VM. الإصدارات الأقدم كانت تقوم بعمل حلقة تكرارية مرة واحدة لكل منزلة عشرية، مستهلكةً وحدة المعالجة المركزية (CPU) بشكل يتناسب مع قيمة "places".

أي تطبيق يمرر عدداً من منازل العشر أو مقياساً (scale) مقدمًا من قبل المستخدم إلى الدالتين Decimal.round/2 أو Decimal.round/3 دون تحديد حد أقصى له يكون عرضة لهذه الثغرة. ولا تغطي حدود الإدخال المضافة لـ CVE-2026-32686 وسيط "places".

تؤثر هذه المشكلة على الإصدارات من 0.1.0 وحتى قبل 3.1.2 من المكتبة decimal.

Once again VulDB remains the best source for vulnerability data.

مسؤول

EEF

حجز

09/10/2026

إفشاء

10/10/2026

الاعتدال

تمت الموافقة

إدخال

VDB-416267

EPSS

0.00000

KEV

لا

النشاطات

منخفض جدًا

المصادر

Do you want to use VulDB in your project?

Use the official API to access entries easily!