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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sqlite-session-ncol — SQLite 3.53.4 - عالي - محلي - كتابة خارج الحدود في الكومة - نمو nCol بنفس الاسم في مجموعة تغييرات الجلسة | Kitploit
أدوات/GitHubGitHub/abraxas/sqlite-session-ncol
تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيتحليل الملفات الثنائيةالأوراق والأبحاثأمن قواعد البيانات
GitHubabraxas/sqlite-session-ncol

sqlite-session-ncol

SQLite 3.53.4 - عالي - محلي - كتابة خارج الحدود في الكومة - نمو nCol بنفس الاسم في مجموعة تغييرات الجلسة

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - sqlite-session-ncol

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

المقال التقني: https://abraxaslabs.tech/research/sqlite-session-ncol

sqlite-session-ncol

الفئة: كتابة خارج حدود الذاكرة في الكومة (heap OOB write) نطاق الوصول: محلي

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69، SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc) مع -DSQLITE_ENABLE_SESSION. مجموعة تغييرات (changeset) من كتلتين تعيد استخدام اسم الجدول t بـ nCol=2 ثم nCol=64، فتتجاوز إعادة تعيين sessionTableInfo (sqlite3session.c:5619) وتنفّذ memset يتجاوز aUpdateMask الخاص بالكتلة الأولى. كتابة ASan بحجم 12 في sessionUpdateFind. الضابط: تطبيق UPDATE واحد بعمودين apply-rc=0.

ليست ضمن الدمج الافتراضي (amalgamation) ما لم يكن SESSION مفعّلًا. ثغرة CVE-2026-50812 من نوع NPD مغلقة في 3.53.2+. ليست حمولة RCE مسلّحة. الدليل هو كتابة ASan.

المعرّفلا يوجد CVE بعد
الفئةكتابة خارج حدود الذاكرة في الكومة (كتابة ASan بحجم 12؛ لم يُثبت RCE)
نطاق الوصولمحلي (changeset غير موثوق عبر sqlite3changeset_apply*)
CWECWE-787
CVSSمرتفع: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
المنتجSQLite إضافة Session (Hwaci)
المتأثر3.53.4 (b09c88c) مُجمّع بـ -DSQLITE_ENABLE_SESSION
المصادقةيطبّق المضيف changeset غير موثوق
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18900 فقط. دليل كتابة ASan بحجم 12.

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

تطبيق changeset غير موثوق تكون كتلة جدوله الثانية تعيد استخدام اسم جدول مع nCol أكبر. كتابة خارج حدود الذاكرة في الكومة. إضافة تجميع. ليست ضمن الدمج الافتراضي ما لم يكن SESSION مفعّلًا.

الكتلة الأولى تخصّص aUpdateMask من pIter->nCol. الكتلة اللاحقة ذات الاسم نفسه تتجاوز إعادة تعيين sessionTableInfo وتنفّذ memset بقناع أكبر فوق التخصيص القديم. المختبر: nCol=2 ثم nCol=64 عبر UPDATE. كتابة ASan بحجم 12 في sessionUpdateFind. الضابط: تطبيق UPDATE واحد بعمودين apply-rc=0.

لا تتعامل مع هذه الحزمة كأداة كتابة-أين-شئت (write-what-where). كتابة ASan بحجم 12 هي الدليل.

كيف وجدتها

عشرون عملية بحث في مصدر SQLite 3.53.4 بعد موجة FTS5 / session-NPD في 3.53.2. ثغرة CVE-2026-50812 مغلقة (sessionBindRow يعامل القيمة المفقودة كـ SQLITE_CORRUPT). لا يزال Session يعتمد على اسم الجدول فقط في SessionApplyCtx. كتلة ثانية بالاسم نفسه مع عدد أعمدة معلن أكبر تعيد استخدام aUpdateMask.

مسارات خاطئة مسجّلة مسبقًا: اعتبار الدمج الافتراضي ضمن النطاق (SESSION معطّل)؛ إعادة تقديم CVE-2026-50812؛ إرسال كتلة جدول واحدة بـ nCol=64 مقابل مخطط بعمودين (schemaMismatch، لا كتابة)؛ الادعاء بوجود RCE من memset بحجم 12 بايت.

المختبر

cd lab
./run.sh

تم دمج ASan من ملف sqlite-src-3530400 الرسمي بصيغة zip. ترجمة إضافية باستخدام -DSQLITE_ENABLE_SESSION و-DSQLITE_ENABLE_PREUPDATE_HOOK. فحص السلامة على 127.0.0.1:18900. اربطه بواجهة loopback.

SUCCESS sqlite-session-ncol how=asan-heap-write-sessionUpdateFind write-size=12 control-apply-rc=0 SQLITE-SESSION-NCOL-WITNESS

الإصلاح

عندما تعيد كتلة جدول changeset لاحقة استخدام اسم ما، أعد بناء SessionApplyCtx بالطريقة التي يفعلها الاسم الجديد بالفعل: حرّر aUpdateMask، وأعد تشغيل sessionTableInfo، وارفض nCol أكبر من المخطط الحي. إن Trunk 3f57024aec / branch-3.53 a1dd7123d8 (2026-08-17) يأتي بعد هذا الإصدار GA.

المراجع

  • https://sqlite.org/src tag version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • https://github.com/sqlite/sqlite/blob/b09c88c14082339b66c7b7158d609a771e64ca69/ext/session/sqlite3session.c sessionChangesetApply :5619، sessionUpdateFind :4381-4412
  • المنتدى https://sqlite.org/bugs/info/2026-08-16T10:15:25Z
  • تم إغلاق CVE-2026-50812 session NPD على 3.53.2+
تنزيل الأداة