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

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - sqlite-cte-nest

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

التحليل المكتوب: https://abraxaslabs.tech/research/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 stack-overflow. ليس RCE.

المعرّفلا يوجد CVE بعد
الفئةانهيار (ASan stack-overflow في 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)؛ بقايا nNestSel للـ CTE في 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. عروض VIEW المتداخلة محدودة مسبقًا. الوصول إلى FROM المتداخل يصطدم بحدّ التكرار في المحلّل. هذه البقايا هي مسار إرفاق CTE. لا يقوم SQLite بتقييم أسماء CTE في صدفة. انهيار، وليس RCE.

كيف وجدته

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

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

المختبر

cd lab
./run.sh

ملف sqlite-src-3530400 zip الرسمي، دمج ASan، تركيب 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. يُعدّ الفرع الرئيسي f547308713 (2026-10-05، "Limit the depth of recursion for CTEs using SQLITE_LIMIT_EXPR_DEPTH") من هذا النوع من التصحيحات. وهو غير موجود في 3.53.4.

المراجع

  • https://github.com/sqlite/sqlite tag https://github.com/sqlite/sqlite/releases/tag/version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • Canonical 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؛ الفرع الرئيسي f547308713
تنزيل الأداة