Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2022-44311 — قراءة خارج الحدود في html2xhtml : CVE-2022-44311 | Kitploit
أدوات/GitHubGitHub/desmondsanctity/cve-2022-44311
تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيتحليل الملفات الثنائيةالتعلم والتعليم
GitHubdesmondsanctity/cve-2022-44311

CVE-2022-44311

قراءة خارج الحدود في html2xhtml : CVE-2022-44311

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

الأكثر شعبية

عرض الكل →

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

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

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

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

قراءة خارج الحدود في html2xhtml : CVE-2022-44311

ملخص

تم اكتشاف أن Html2xhtml v1.3 يحتوي على قراءة خارج الحدود في الدالة static void elm_close(tree_node_t *nodo) في procesador.c. تسمح هذه الثغرة للمهاجمين بالوصول إلى ملفات حساسة أو التسبب في رفض الخدمة (DoS) عبر ملف html معدّ بعناية.

CWE-125 قراءة خارج الحدود هي نوع من أخطاء البرمجيات التي يمكن أن تحدث عند قراءة البيانات من الذاكرة. يمكن أن يحدث ذلك إذا حاول البرنامج القراءة بعد نهاية مصفوفة (Array) على سبيل المثال. يمكن أن تؤدي القراءات خارج الحدود إلى تعطل البرنامج أو ثغرات أخرى غير متوقعة، وقد تسمح للمهاجم بقراءة معلومات حساسة لا ينبغي أن يكون لديه حق الوصول إليها.

المنتج

html2xhtml

الإصدار المختبر

1.3

التفاصيل

المشكلة: قراءة خارج الحدود في html2xhtml/src/procesador.c. (GHSA-28fm-qh2h-3mch)

Html2xhtml هي أداة سطر أوامر تحوّل ملفات HTML إلى ملفات XHTML. يمكن لـ Html2xhtml توليد مخرجات XHTML متوافقة مع أحد أنواع المستندات التالية: XHTML 1.0 (Transitional وStrict وFrameset)، وXHTML 1.1، وXHTML Basic، وXHTML Mobile Profile.

تم اكتشاف الثغرة بسبب خطأ تجزئة حدث عند استخدام خيار -t frameset. إن خطأ التجزئة أو segfault هو نوع محدد من الأخطاء يحدث بسبب الوصول إلى ذاكرة لا تخصك. وهي آلية مساعدة تمنعك من إفساد الذاكرة وإدخال أخطاء ذاكرة يصعب تصحيحها.

باستخدام Valgrind، وهي أداة لاكتشاف أخطاء الوصول إلى ذاكرة الكومة (الذاكرة المخصصة ديناميكيًا عبر new أو malloc) في برامج C وC++، تم تتبع خطأ التجزئة وتصحيحه، وأبلغت الأداة عن invalid read of size 4 في حالة الاختبار:

root@kitploit:~
==1040381== Memcheck, a memory error detector
==1040381== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==1040381== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1040381== Command: ./src/html2xhtml -t frameset report/vuln/id:000000,sig:11,src:001386+001369,time:12081510,execs:2336913,op:splice,rep:16
==1040381== 
==1040381== Invalid read of size 4
==1040381==    at 0x40E911: elm_close (procesador.c:944)
==1040381==    by 0x410617: err_html_struct (procesador.c:1889)
==1040381==    by 0x40F20A: err_content_invalid (procesador.c:0)
==1040381==    by 0x40F20A: elm_close (procesador.c:959)
==1040381==    by 0x40E7C4: saxEndDocument (procesador.c:233)
==1040381==    by 0x40DF7A: main (html2xhtml.c:117)
==1040381==  Address 0x6f20d4 is not stack'd, malloc'd or (recently) free'd
==1040381== 
==1040381== 
==1040381== Process terminating with default action of signal 11 (SIGSEGV)
==1040381==  Access not within mapped region at address 0x6F20D4
==1040381==    at 0x40E911: elm_close (procesador.c:944)
==1040381==    by 0x410617: err_html_struct (procesador.c:1889)
==1040381==    by 0x40F20A: err_content_invalid (procesador.c:0)
==1040381==    by 0x40F20A: elm_close (procesador.c:959)
==1040381==    by 0x40E7C4: saxEndDocument (procesador.c:233)
==1040381==    by 0x40DF7A: main (html2xhtml.c:117)
==1040381==  If you believe this happened as a result of a stack
==1040381==  overflow in your program's main thread (unlikely but
==1040381==  possible), you can try to increase the size of the
==1040381==  main thread stack using the --main-stacksize= flag.
==1040381==  The main thread stack size used in this run was 8388608.
==1040381== 
==1040381== HEAP SUMMARY:
==1040381==     in use at exit: 88,190 bytes in 13 blocks
==1040381==   total heap usage: 22 allocs, 9 frees, 2,218,413 bytes allocated
==1040381== 
==1040381== LEAK SUMMARY:
==1040381==    definitely lost: 0 bytes in 0 blocks
==1040381==    indirectly lost: 0 bytes in 0 blocks
==1040381==      possibly lost: 0 bytes in 0 blocks
==1040381==    still reachable: 88,190 bytes in 13 blocks
==1040381==         suppressed: 0 bytes in 0 blocks
==1040381== Rerun with --leak-check=full to see details of leaked memory
==1040381== 
==1040381== For lists of detected and suppressed errors, rerun with: -s
==1040381== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
==1040419== Memcheck, a memory error detector

قادنا سجل الأخطاء من Valgrind إلى الدالة التالية حيث حدث خطأ التجزئة:

https://github.com/jfisteus/html2xhtml/blob/ffb2f1f12910eb5945413e0bdb9272b508241aa1/src/procesador.c#L940

image

تم اكتشاف أن الدالة تفتقد إلى فحص النوع. كان المستخدم يمرر عقدة من النوع comment بدلاً من element إلى الدالة، ويؤدي هذا إلى خطأ قراءة خارج الحدود. يمكن للمستخدم تقديم مستند تالف البنية بقيمة ELM_PTR(nodo).contenttype[doctype] غير صالحة، مما ينتج عنه المقارنة التالية في لغة التجميع:

root@kitploit:~
cmp    dword ptr [rbp + rax*4 + 0xc], 4

يمكن استغلال هذه الثغرة من قبل المهاجمين لقراءة ملفات أو ذاكرة أو مواقع حساسة باستخدام ملف معدّل.

التأثير

  • يمكن استغلال هذه المشكلة من قبل المهاجمين لقراءة ذاكرة أو مواقع أو ملفات حساسة.
  • يمكن للمهاجمين أيضًا التسبب في هجوم رفض الخدمة (DoS) عبر ملف html معدّ بعناية.

التصحيحات

  • تؤثر هذه الثغرة على أي مستخدم يستخدم أي إصدار مُجمّع من البرنامج. يوجد إصلاح مرتبط بهذا commit في الفرع الرئيسي (master) لمستودع GitHub الخاص بالبرنامج.
  • يُنصح المستخدمون بسحب التحديثات الأخيرة للحزمة المؤرخة في 25 أكتوبر 2022 أو ما بعده وتجميعها على أجهزتهم. لا يوجد إصدار (Release) جديد أو ترقيم إصدارات بعد إصلاح الخطأ.

الموارد

  • https://nvd.nist.gov/vuln/detail/CVE-2022-44311
  • jfisteus/html2xhtml#19
  • https://securityboulevard.com/2022/06/what-is-an-out-of-bounds-read-and-out-of-bounds-write-error/
  • https://cwe.mitre.org/data/definitions/125.html

مقاييس CVSS الأساسية

CVE

  • CVE-2022-44311

الاعتمادات

  • تم اكتشاف هذه المشكلة والإبلاغ عنها من قبل @Halcy0nic كـ issue إلى مستودع برمجيات html2xhtml.
تنزيل الأداة
الخطورةعالية 8.1 / 10
تعقيد الهجوممنخفضة
الصلاحيات المطلوبةلا شيء
تفاعل المستخدممطلوب
النطاقغير متغير
السريةعالية
السلامةلا شيء
التوفرعالية