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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sqlite-cte-nest — SQLite 3.53.4 - عالي - محلي - انهيار - CTEs المتداخلة تتجاوز الحد الأقصى لعمق عرض nNestSel | Kitploit
أدوات/GitHubGitHub/abraxas/sqlite-cte-nest
التحليل الثابتتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالأوراق والأبحاثأمن قواعد البيانات
GitHubabraxas/sqlite-cte-nest

sqlite-cte-nest

SQLite 3.53.4 - عالي - محلي - انهيار - CTEs المتداخلة تتجاوز الحد الأقصى لعمق عرض nNestSel

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - sqlite-cte-nest

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  sqlite-cte-nest

sqlite-cte-nest

الفئة: انهيار الوصول: محلي

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69، SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc) - Hwaci

تقوم sqlite3ResultSetOfSelect بزيادة nNestSel وإرجاع الخطأ VIEWs and/or subqueries nested too deep عندما تصل السلسلة إلى SQLITE_LIMIT_EXPR_DEPTH. إن الـ VIEWs المتداخلة على هذا الإصدار المثبّت تصل بالفعل إلى هذا الحد. ربط CTE عند select.c:5754 (sqlite3SrcItemAttachSubquery) لا يزيد nNestSel. بعد ذلك تقوم selectExpander / sqlite3WalkSelect بالاستدعاء الذاتي عبر سلسلة CTE حتى تنهار مكدس C.

سلسلة CTE صغيرة تُرجع صفًا. الـ FROM المتداخل عند N=25000 هو Recursion limit من المحلل ولا يسبب انهيارًا. الـ VIEWs المتداخلة عند .limit expr_depth 20 تُرجع خطأ too-deep. CTE عند N=25000 هو تجاوز مكدس ASan. ليس RCE.

IDلا يوجد CVE بعد
الفئةانهيار (تجاوز مكدس ASan في selectExpander؛ لم يُثبت RCE)
الوصولمحلي (SQL غير موثوق أو مخطط CTE متداخل)
CWECWE-674
CVSSمرتفع: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
المنتجSQLite (مرآة GitHub sqlite/sqlite)
المتأثر3.53.4 (b09c88c)؛ بقايا من CTE nNestSel في trunk اللاحق
المصادقةSQL غير موثوق أو سلسلة WITH مزروعة
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18810 فقط. دمج ASan. شاهد الانهيار.

ما يمكن للمهاجم فعله

تغذية سلسلة CTE طويلة، كـ SQL أو كجسم VIEW على .db غير موثوق:

WITH c0 AS (SELECT 1),
     c1 AS (SELECT * FROM c0),
     ...
     cN AS (SELECT * FROM cN-1)
SELECT * FROM cN;

تسير selectExpander عبر كل CTE كاستعلام فرعي FROM متداخل. لا يتحرك nNestSel أبدًا. تموت العملية المضيفة على مكدس C. الـ VIEWs المتداخلة محدودة بالفعل. الـ FROM المتداخل يصل إلى حد الاستدعاء الذاتي للمحلل. هذه البقايا هي مسار ربط CTE. لا تقوم SQLite بتقييم أسماء CTE إلى shell. انهيار، وليس RCE.

كيف وجدته

عشرون عملية بحث في الشيفرة المصدرية لـ https://github.com/sqlite/sqlite وسم https://github.com/sqlite/sqlite/releases/tag/version-3.53.4. كانت الـ VIEWs المتداخلة محدودة على هذا الإصدار المثبّت (3f3fb9b638 / branch-3.53 38430aa5ed، 2026-06-16). لم يكن ربط CTE كذلك. الـ trunk f547308713 (2026-10-05) يأتي بعد هذا الإصدار العام.

الطرق الخاطئة المسجلة بالفعل: اعتبار الـ VIEWs المتداخلة هي الانهيار (تُرجع خطأ too-deep)؛ اعتبار الـ FROM المتداخل N=25000 هو الانهيار (Recursion limit من المحلل)؛ اعتبار سلسلة من 5 CTE دليلًا على أن الحد ينطبق.

المختبر

cd lab
./run.sh

ملف sqlite-src-3530400 الرسمي، دمج ASan، compose sqlite-cte-nest، منشور على 127.0.0.1:18810. اربطه بالـ loopback. لا توجّه هذا إلى SQLite الخاص بشخص آخر.

SUCCESS sqlite-cte-nest how=asan-stack-overflow crash-n=25000 small-cte=ok nested-views=too-deep nested-from=rejected SQLITE-CTE-NEST-WITNESS

الإصلاح

زيادة nNestSel عند ربط CTE بالطريقة التي تفعلها sqlite3ResultSetOfSelect بالفعل مع الـ VIEWs، وإرجاع خطأ عند SQLITE_LIMIT_EXPR_DEPTH. الـ trunk f547308713 (2026-10-05، "Limit the depth of recursion for CTEs using SQLITE_LIMIT_EXPR_DEPTH") هو من هذه الفئة من التصحيحات. إنه ليس في 3.53.4.

المراجع

  • https://github.com/sqlite/sqlite وسم https://github.com/sqlite/sqlite/releases/tag/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • المرجع الأساسي https://sqlite.org/src SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
  • src/select.c sqlite3ResultSetOfSelect (nNestSel++)، ربط CTE :5754
  • src/walker.c sqlite3WalkSelectFrom مسار الاستعلام الفرعي
  • selectExpander / sqlite3SelectExpand
  • خطأ المنتدى 2026-10-04T04:58:58Z؛ trunk f547308713
تنزيل الأداة