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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
sqlite-fts5-securedel — SQLite 3.53.4 - عالي - محلي - انهيار - FTS5 secure-delete PutVarint تجاوز الذيل | Kitploit
أدوات/GitHubGitHub/abraxas/sqlite-fts5-securedel
التحليل الثابتتحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيتحليل الملفات الثنائيةالأوراق والأبحاثأمن قواعد البيانات
GitHubabraxas/sqlite-fts5-securedel

sqlite-fts5-securedel

SQLite 3.53.4 - عالي - محلي - انهيار - FTS5 secure-delete PutVarint تجاوز الذيل

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Abraxas Labs - sqlite-fts5-securedel

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

sqlite-fts5-securedel

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

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) - Hwaci

fts5DoSecureDelete يعيد بناء تذييل ورقة FTS5 باستخدام sqlite3Fts5PutVarint بعد nPg = iPgIdx. لا يتم تقييد إزاحات المفاتيح المفكوكة من التذييل مقابل الكتلة الأصلية، لذا يتجاوز مؤشر PutVarint الحد nn + FTS5_DATA_PADDING (20). عادةً ما يكون SQLITE_ENABLE_FTS5 إضافيًا. قاعدة بيانات الهجوم استخدمت بالفعل secure-delete.

هذا من بقايا لاحق في trunk Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11، YEONBA). هذا الـ check-in يأتي بعد هذا الإصدار GA. وهو ليس CVE-2026-11824: fts5LeafRead يرفض بالفعل szLeaf<4 على هذا الإصدار.

IDلا يوجد CVE بعد
الفئةانهيار (كتابة ASan بحجم 1؛ لم يُثبت تنفيذ كود عن بُعد)
الوصولمحلي (افتح قاعدة بيانات FTS5 مصنوعة، ثم DELETE/flush)
CWECWE-787
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 SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
المصادقةلا شيء (ملف فهرس غير موثوق)
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1:18860 فقط. كتابة ASan على الكومة. لا يوجد حمولة RCE.

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

افتح قاعدة بيانات FTS5 مصنوعة استخدمت بالفعل secure-delete، ثم DELETE (أو أي كتابة تؤدي إلى flush لـ secure-delete) بحيث يكتب fts5DoSecureDelete varints التذييل بعد Fts5Data. انهيار / كتابة ASan على الكومة بحجم 1. لم يُثبت تنفيذ كود عن بُعد. ليس CVE-2026-11824.

MATCH فقط ليس هذا الـ sink. المُحفّز هو DELETE/flush. الملف المصنوع لا يحتاج إلى إيقاف SQLITE_DBCONFIG_DEFENSIVE.

كيف وجدته

عشرون عملية بحث في مصدر SQLite 3.53.4 بعد إصدارات أخرى لقواعد البيانات وخوادم HTTP. CVE-2026-11822 / CVE-2026-11824 مغلق على هذه الشجرة (fts5LeafRead szLeaf<4). حد trunk اللاحق من YEONBA ليس كذلك. ملف fts5corruptB.test في 3.53.4 لا يزال ينتهي عند الاختبار 3.2؛ اختبار trunk 4.0 هو hexdb بالإضافة إلى DELETE FROM t WHERE rowid = 1.

iPgIdx -= nShift;
nPg = iPgIdx;
fts5PutU16(&aPg[2], iPgIdx);

for(iIdx=0; iIdx<nIdx; /* no-op */){
  u32 iVal = 0;
  iIdx += fts5GetVarint32(&aIdx[iIdx], iVal);
  iKeyIn += iVal;
  if( iKeyIn!=iDelKeyOff ){
    int iKeyOut = (iKeyIn - (iKeyIn>iOff ? nShift : 0));
    nPg += sqlite3Fts5PutVarint(&aPg[nPg], iKeyOut - iPrevKeyOut);
    iPrevKeyOut = iKeyOut;
  }
}

ext/fts5/fts5_index.c:5514-5544. iKeyIn هو int بحجم 32 بت. trunk اللاحق يحتفظ بـ nPg الأصلي، ويستخدم i64 iKeyIn، ويرفض iKeyIn>nPg قبل PutVarint.

مسارات خاطئة: التعامل مع CVE-2026-11824 على أنه هذه الثغرة؛ MATCH بدلاً من DELETE؛ plant حي لـ CREATE/INSERT أبقى szLeaf في النطاق ولم يحدث overflow؛ استدعاء سلسلة Winter's WAL-plus-FTS5 RCE بدون حمولة.

المختبر

cd lab
./run.sh

دمج ASan من ملف sqlite-src-3530400 الرسمي المضغوط، -DSQLITE_ENABLE_FTS5. مطلوب hexdb lab/yeonba-fts5corruptB-4.hexdb (trunk fts5corruptB.test 4.0). اربط loopback 127.0.0.1:18860. مشروع Compose sqlite-fts5-securedel.

SUCCESS sqlite-fts5-securedel how=asan-heap-buffer-overflow-write-1-fts5DoSecureDelete db=yeonba-hexdb bytes=5120 SQLITE-FTS5-SECUREDEL-WITNESS

إطارات ASan: fts5PutVarint64 -> sqlite3Fts5PutVarint -> fts5DoSecureDelete / fts5FlushSecureDelete.

الإصلاح

احتفظ بـ nPg الأصلي. وسّع iKeyIn إلى i64. ارفض iKeyIn>nPg قبل sqlite3Fts5PutVarint. هذا هو Fossil 9cd4f9e920 / branch-3.53 34171bee08. قم بعمل cherry-pick له على 3.53.

المراجع

  • https://sqlite.org/src وسم version-3.53.4 Git b09c88c14082339b66c7b7158d609a771e64ca69
  • ext/fts5/fts5_index.c fts5DoSecureDelete، fts5FlushSecureDelete، fts5LeafRead
  • ext/fts5/fts5_varint.c sqlite3Fts5PutVarint
  • إصلاح trunk Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11، YEONBA)
  • CVE-2026-11824 هو الأصل المغلق szLeaf<4، وليس هذه البقايا
تنزيل الأداة