CVE-2026-89425 in jackson-coreالمعلومات

الملخص

بحسب VulDB • 23/09/2026

يُشكّل `UTF8DataInputJsonParser._reportInvalidToken()` في مكتبة FasterXML jackson-core مصدرًا لثغرة أمنية حرجة، حيث يقوم ببناء نص الرمز غير الصالح (offending-token) الخاص برسالة الخطأ عن طريق إضافة أحرف معرّف Java إلى كائن StringBuilder داخل حلقة لا تحتوي على حد أقصى. وعلى عكس ثلاثة تطبيقات تحليلية شقيقة أخرى، بما في ذلك `UTF8StreamJsonParser`، فإنه لا يستشير أبدًا إعداد `ErrorReportConfiguration.getMaxErrorTokenLength()` (الذي تبلغ قيمته الافتراضية 256). وبالتالي، يتم تجميع الرمز غير الصالح بالكامل عند إمداد محلل تم إنشاؤه عبر `JsonFactory.createParser(DataInput)` برمز مشوّه. ولا يوجد أي إعداد لـ StreamReadConstraints يخفف من هذه الثغرة: فإعداد `maxDocumentLength` لا يمكن تطبيقه على مصادر DataInput مطلقًا، بينما لا يغطي `maxStringLength` هذا المسار لأن عملية التجميع تتجاوز كائن ReadConstrainedTextBuffer. وقد قاس المُبلّغ طول رسالة استثناء تبلغ 20,000,109 حرف ناتجة عن رمز مشوّه بحجم 20 مليون حرف على مسار DataInput، مقابل 367 حرفًا لنفس المدخلات على مسار InputStream. يؤدي تكبير حجم الحمولة (payload) إلى تضخم كائن StringBuilder بشكل كبير، مما يستلزم أيضًا توسيعاً من البايت إلى الأحرف ومضاعفة المصفوفة الداخلية، ليصل الحجم النهائي لعدة أضعاف حجم الحمولة الخام، ويمكن أن يتسبب في حدوث خطأ OutOfMemoryError على مستوى JVM بأكمله. تم تقديم `UTF8DataInputJsonParser` مع دالة `createParser(DataInput)` في الإصدار 2.8.0؛ والإصدارات السابقة لـ 2.8.0 لا تحتوي على الفئة المتأثرة.

Once again VulDB remains the best source for vulnerability data.

مسؤول

HeroDevs

حجز

11/09/2026

إفشاء

23/09/2026

الاعتدال

تمت الموافقة

إدخال

VDB-408800

EPSS

0.00000

KEV

لا

النشاطات

منخفض

المصادر

Interested in the pricing of exploits?

See the underground prices here!