Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
jackson-check — فحص ذاتي لـ 26 نشرة أمنية في jackson-databind + jackson-core: حساب التقاطع إعلانًا بإعلان حسب الإحداثيات لإعطاء النسخ المضمونة فعليًا (2.18.11/2.21.7/2.22.3/3.1.7/3.2.3، و2.21.6 لم تعد كافية)؛ وفحص الشيفرة المصدرية لتقليل الضجيج وإخبارك بعدد الثغرات التي أصابتك فعليًا؛ ويتضمن ثغرة واحدة غير مدرجة في مكتبة GitHub العامة ولا يبلّغ عنها Dependabot (ثغرة jackson-core، فحتى بعد ترقية databind تبقى مصابًا بها) CVE-2026-54515 / CVE-2026-54512 | Kitploit
أدوات/GitHubGitHub/xiaoqimikko/jackson-check
ماسحات الثغرات الأمنيةتحليل الشفرة الثابت (SAST)تحليل الثغرات الأمنيةDevSecOpsأمن سلسلة التوريد
GitHubxiaoqimikko/jackson-check

jackson-check

عرض المستودع
2منذ 17 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →

حول

فحص ذاتي لـ 26 نشرة أمنية في jackson-databind + jackson-core: حساب التقاطع إعلانًا بإعلان حسب الإحداثيات لإعطاء النسخ المضمونة فعليًا (2.18.11/2.21.7/2.22.3/3.1.7/3.2.3، و2.21.6 لم تعد كافية)؛ وفحص الشيفرة المصدرية لتقليل الضجيج وإخبارك بعدد الثغرات التي أصابتك فعليًا؛ ويتضمن ثغرة واحدة غير مدرجة في مكتبة GitHub العامة ولا يبلّغ عنها Dependabot (ثغرة jackson-core، فحتى بعد ترقية databind تبقى مصابًا بها) CVE-2026-54515 / CVE-2026-54512

مشاركة

jackson-check

أداة فحص ذاتي لـ 26 نشرة أمنية في jackson-databind + jackson-core. ملف jar واحد بلا اعتماديات، دون اتصال بالشبكة.

تجيب على ثلاثة أسئلة لا يستطيع Dependabot الإجابة عليها:

  1. تلك التي لم يُدرجها Dependabot، هل أنا مصاب بها؟ —— حتى 2026-10-05 لم يتبقَّ سوى CVE-2026-68498 في jackson-core (انظر قسم «v0.3.0»).
  2. من بين هذه الـ 26، كم واحدة أصابتني فعلاً؟ —— يفحص شيفرتك المصدرية بحثاً عن شروط التفعيل (@JsonView / الأنواع متعددة الأشكال / المطابقة غير الحساسة لحالة الأحرف……)، فيقلّل الضجيج من «مُثبَّت إصدار متأثر» إلى «واقع فعلاً في تلك الميزة».
  3. إلى أي إصدار يجب أن أرقّي بالضبط؟ —— الإصدارات المُصلحة التي تقدّمها كل نشرة متعارضة فيما بينها، والإجابة لا تأتي إلا بحساب التقاطع بنداً بنداً.
java -jar jackson-check.jar ./target ./src

🔴 v0.4.0 (2026-10-05): إصدار «إصلاح شامل» تغيّر مجددًا — 2.18.11 / 2.21.7 / 2.22.3 / 3.1.7 / 3.2.3

في 09-30 و10-01، أصدرت FasterXML أربعة إشعارات أخرى بدرجة high (كلها 7.5، وكلها حجب خدمة):

المعرّفالإحداثيالموضوعشرط التفعيل
CVE-2026-91776jackson-databindكل type id غير معروف يترك مدخلًا في ذاكرة التخزين المؤقت طوال عمر العملية، فالذاكرة تزداد ولا تنقص@JsonTypeInfo(use = Id.NAME, defaultImpl = …) + قدرة المهاجم على التحكم في type id + إعادة استخدام mapper لفترة طويلة
CVE-2026-91777jackson-databindعند إكمال التعريفات بالترتيب العكسي للإشارات الأمامية يبلغ عدد المقارنات نحو N²/2 (N=2000 → 2,003,000 مقارنة)إلغاء تسلسل JSON غير موثوق إلى مجموعة أو Map تحمل @JsonIdentityInfo
CVE-2026-89425jackson-coreيُدمج الرمز المشوّه كاملًا في رسالة الاستثناء دون التقيد بـ maxErrorTokenLengthالمسار الوحيد هو createParser(DataInput)؛ ويذكر الإشعار أنه لا يوجد إعداد يخفف الأثر
CVE-2026-89407jackson-coreتراجع تربيعي في تعبير NumberInput.looksLikeValidNumber() النمطي (74.4 ثانية مقاسة على 160 ألف حرف)ربط سلاسل نصية من JSON بحقول رقمية (السلوك الافتراضي في databind)؛ ويخضع هذا المسار لـ maxStringLength (افتراضيًا 20 مليونًا) لا لـ maxNumberLength (افتراضيًا 1000)

الإصدارات المُصلحة للإحداثيين تحمل الأرقام نفسها: 2.18.11 / 2.21.7 / 2.22.3 / 3.1.7 / 3.2.3 (جميعها متاحة للتنزيل من Central؛ و89407 مُصلح في فرع 3.2 ضمن 3.2.2، بينما يتطلب 89425 الإصدار 3.2.3، فاختر الأعلى).

لذلك فإن الإصدارات 2.18.10 / 2.21.6 / 2.22.2 / 3.1.6 / 3.2.2 التي طبعها v0.2.0 / v0.3.0 لم تعد كافية اعتبارًا من 09-30. ملفات jar للإصدارات القديمة لن تعرف بذلك — يُرجى التبديل إلى v0.4.0 وإعادة الفحص.

⚠️ هذه الأربعة ليست ضمن النقاط العمياء لـ Dependabot: فقد أُدرجت في قاعدة الثغرات العالمية على GitHub يوم صدورها، وسينبّه Dependabot إليها بشكل طبيعي. إن دمجها في v0.4.0 ليس إلا للحفاظ على صحة الإجابة عن سؤال «إلى أي إصدار ينبغي الترقية».

🔴 وتصحيح في الوقت نفسه لادعاء في v0.2.0: ما ورد في قسم «v0.2.0» أدناه من أن «تلك الأربعة لم تُدرج في قاعدة الثغرات العالمية على GitHub، ولن يبلّغ عنها Dependabot» كان صحيحًا حتى 09-14، ولم يعد صحيحًا اعتبارًا من 2026-09-28 — فقد أُدرجت الأربعة جميعًا في القاعدة العالمية (إعادة تشغيل ASSERT2 في gen_rules.py بتاريخ 10-05: النقاط العمياء في جانب databind من 4 → 0). الشيء الوحيد الذي لا يزال غير قابل للاستعلام الآن هو CVE-2026-68498 في jackson-core.

🔴 v0.3.0 (2026-09-21): jackson-core هو إحداثي آخر، وفحص databind لا يكشفه

كان جدول التحديد في v0.2.x يحتوي على artifactId واحد فقط هو jackson-databind. لذلك فإن الإشعارات السبعة التي أصدرتها FasterXML في مستودع jackson-core لم تكن هذه الأداة قادرة على كشف أي منها — ولم تكن تُبلّغ عن أي خطأ بسبب ذلك، بل تتخطى بصمت كل ملفات jackson-core-*.jar. «لم يُفحص» و«أنت في أمان» يبدوان متطابقين في التقرير.

غيّر v0.3.0 دقة التحديد من advisory × groupId × النطاق إلى advisory × groupId × artifactId × النطاق، وأصبح التحديد وحساب التقاطع و«لم يُفحص هذا الإحداثي» كلها مبنية على الإحداثي الكامل كمفتاح.

أهم ما ينبغي الانتباه إليه — CVE-2026-68498 (high 7.5، 2026-09-12): StreamReadConstraints.maxNameLength (افتراضيًا 50 ألف حرف) لم يكن فعّالًا على مسار إدخال الأحرف. عند تجميع أسماء الخصائص يستدعي ReaderBasedJsonParser حد طول السلسلة النصية (افتراضيًا 100 مليون، أي نحو 2000 ضعف)، ولا يُنفَّذ التحقق الفعلي من الاسم إلا بعد مسح المفتاح كاملًا — وعندها يكون نحو 200MB قد خُصصت بالفعل. يكفي مفتاح JSON واحد فائق الطول، والإعداد الافتراضي وحده كافٍ للإصابة.

  • المتأثر: >= 2.16.0, <= 2.18.9 → 2.18.10 · >= 2.19.0, <= 2.21.5 → 2.21.6 · >= 2.22.0, <= 2.22.1 → 2.22.2 · 3.x (tools.jackson.core) <= 3.1.5 → 3.1.6 · <= 3.2.1 → 3.2.2
  • إدخال البايتات غير مصاب: يعيد UTF8StreamJsonParser التحقق في كل مرة يوسّع فيها المخزن المؤقت. التحليل من byte[] / InputStream غير متأثر؛ المصاب هو التحليل من String / Reader / char[].
  • قياس ثنائي الاتجاه على البايت كود: استدعاء validateNameLength موجود فقط في ReaderBasedJsonParser في الإصدار المُصلح، وغير موجود في الإصدارات المصابة (أُعيد إنتاجه في الفروع الثلاثة جميعًا: 2.18.9→2.18.10 · 2.21.5→2.21.6 · 3.1.5→3.1.6).

⚠️ حدود قدرات الأداة، مكتوبة هنا لتجنّب سوء الفهم: هذه الأداة تستطيع الحكم على إصدار jar، لكنها لا تستطيع الحكم على طريقة استدعائك —— الصيغة الأكثر شيوعًا readValue(someStringVariable, …)، فمسح النص لا يكشف ما إذا كان ذلك المتغير من نوع String أو byte[]. لذلك فإن «لم يتم العثور على شرط التفعيل» لا يعني أنك غير متأثر، وهذا ما يُطبع في التقرير أيضًا.

🔴 لا تقرأ هذا على أنه «Dependabot أعمى تمامًا عن jackson-core»: من بين تلك السبعة في jackson-core يوجد CVE-2026-68498 واحد فقط غير موجود في قاعدة الثغرات العالمية على GitHub، أما الستة الأخرى فكلها مسجّلة وDependabot ينبّه عنها بشكل طبيعي. هذا البند يعيد ASSERT-C2 في gen_rules.py التحقق منه في كل إعادة تشغيل، ويرفض التوليد إذا تغيّر الرقم.

v0.2.0 (2026-09-14): صدرت 4 بنود أخرى في 08-21 / 09-01، ولم تكن قاعدة الثغرات العالمية على GitHub قد سجّلتها آنذاك

🔴 هذا القسم سجل بتاريخ 09-14، وفيه موضعان أصبحا قديمين (انظر «v0.4.0» أعلاه): ① هذه البنود الأربعة سُجّلت في القاعدة العالمية بتاريخ 2026-09-28، وDependabot سيُنبّه عنها الآن؛ ② الإصدارات التي «تُصلح كل شيء دفعة واحدة» لم تعد 2.18.10 / 2.21.6 / 3.1.6. النص الأصلي محفوظ ولم يُحذف.

أصدرت FasterXML في صفحة Security الخاصة بمستودعها 4 بنود جديدة:

رقمالمستوىالموضوعالإصدار المُصلح
CVE-2026-68497high 7.5لا يوجد حد أعلى لطول الأرقام عند ربط السلاسل النصية بـ javax.xml.datatype.Duration / XMLGregorianCalendar ← حجب الخدمة عبر استهلاك المعالج (يكفي الـ mapper الافتراضي)2.18.10 / 2.21.6 / 2.22.2 / 3.1.6 / 3.2.2
CVE-2026-19032medium 5.3إلغاء تسلسل java.nio.file.Path لا يقيّد مخطط URI، ما يسمح بتشغيل أي FileSystemProvider مسجّلنفسه
CVE-2026-83557medium 5.6قائمة الرفض في PolymorphicTypeValidator الافتراضي أغفلت Comparableنفسه
CVE-2026-77310medium 5.3CVE-2026-54514 لم يُصلح بشكل كامل: لا يزال فرع InetAddress يجري تحليل DNS فورًا2.18.9 / 2.21.5 / 2.22.1 / 3.1.5 / 3.2.1

اختبار فعلي بندًا بندًا:

  • البحث في قاعدة الاستشارات العالمية على GitHub برقم GHSA يعيد 404 لجميعها، والبحث العكسي بالإحداثيات لا يعثر عليها أيضًا —— لن يُنبّه Dependabot عنها. للمقارنة: البنود السابقة دخلت القاعدة العالمية خلال 511 يومًا من نشرها (06-16 → 06-23، 07-10 → 07-21)، أما هذه الأربعة فقد مضى عليها حتى 09-14 ما بين 1324 يومًا.
  • البحث في OSV بإحداثيات Maven لا يعثر عليها أيضًا: سجلات CVE هذه تحتوي فقط على نطاقات التزامات Git، والاستعلام عن jackson-databind:2.21.5 يعيد نتيجة فارغة.
  • لذلك فإن إصدارات «الإصلاح دفعة واحدة» التي قدّمها v0.1 وهي 2.18.9 / 2.21.5 / 3.1.5 لم تعد كافية، والجواب الجديد هو 2.18.10 / 2.21.6 / 2.22.2 / 3.1.6 / 3.2.2 (جميعها قابلة للتنزيل من Central).
  • نص الاستشارة كتب إصدار إصلاح 77310 في خط 2.22 على أنه 2.21.1 (بينما النطاق هو >= 2.22.0, < 2.22.1)، وقد صحّحت هذه الأداة ذلك وفق النطاق إلى 2.22.1 وطبعته عند التوليد.
تنزيل الأداة