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 फ़ुटर ओवररन

रिपॉजिटरी देखें
288 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Abraxas Labs - sqlite-fts5-securedel

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

लेख: https://abraxaslabs.tech/research/sqlite-fts5-securedel

sqlite-fts5-securedel

वर्ग: क्रैश पहुँच: स्थानीय

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) - Hwaci

fts5DoSecureDelete nPg = iPgIdx के बाद sqlite3Fts5PutVarint के साथ FTS5 लीफ फ़ुटर को पुनर्निर्मित करता है। फ़ुटर से डिकोड किए गए कुंजी ऑफ़सेट मूल ब्लॉब के विरुद्ध सीमित नहीं हैं, इसलिए PutVarint कर्सर nn + FTS5_DATA_PADDING (20) से आगे निकल जाता है। सामान्य अतिरिक्त SQLITE_ENABLE_FTS5। हमले वाले डेटाबेस ने पहले से ही secure-delete का उपयोग किया था।

यह बाद के ट्रंक Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11, YEONBA) का अवशेष है। वह चेक-इन इस GA के बाद का है। यह नहीं है CVE-2026-11824: इस पिन पर fts5LeafRead पहले से ही szLeaf<4 को अस्वीकार करता है।

IDअभी तक कोई CVE नहीं
वर्गक्रैश (आकार 1 का ASan WRITE; RCE प्रदर्शित नहीं)
पहुँचस्थानीय (एक तैयार किया गया 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 (या कोई भी राइट जो secure-delete को फ्लश करता है) करें ताकि fts5DoSecureDelete Fts5Data से आगे फ़ुटर varints लिख दे। क्रैश / आकार 1 का ASan हीप राइट। RCE प्रदर्शित नहीं। CVE-2026-11824 नहीं।

केवल MATCH इस सिंक नहीं है। ट्रिगर DELETE/flush है। तैयार की गई फ़ाइल के लिए SQLITE_DBCONFIG_DEFENSIVE बंद होने की आवश्यकता नहीं है।

मैंने इसे कैसे खोजा

अन्य डेटाबेस और HTTP-सर्वर पिन के बाद SQLite 3.53.4 की बीस स्रोत खोजें। CVE-2026-11822 / CVE-2026-11824 इस ट्री पर बंद है (fts5LeafRead szLeaf<4)। YEONBA की बाद की ट्रंक सीमा नहीं है। 3.53.4 की fts5corruptB.test फ़ाइल अभी भी टेस्ट 3.2 पर समाप्त होती है; ट्रंक टेस्ट 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 एक 32-बिट int है। बाद का trunk मूल nPg रखता है, i64 iKeyIn का उपयोग करता है, और PutVarint से पहले iKeyIn>nPg को अस्वीकार करता है।

गलत मोड़: CVE-2026-11824 को इस बग के रूप में मानना; DELETE के बजाय MATCH; एक लाइव CREATE/INSERT प्लांट जो szLeaf को सीमा में रखता था और ओवरफ़्लो नहीं करता था; Winter की WAL-plus-FTS5 श्रृंखला को बिना किसी पेलोड के RCE कहना।

Lab

cd lab
./run.sh

आधिकारिक sqlite-src-3530400 zip से ASan amalgamation, -DSQLITE_ENABLE_FTS5। Hexdb lab/yeonba-fts5corruptB-4.hexdb (trunk fts5corruptB.test 4.0) आवश्यक है। लूपबैक 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 तक चौड़ा करें। sqlite3Fts5PutVarint से पहले iKeyIn>nPg को अस्वीकार करें। यह Fossil 9cd4f9e920 / branch-3.53 34171bee08 है। इसे 3.53 पर cherry-pick करें।

संदर्भ

  • 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 पैरेंट है, यह शेष नहीं
टूल डाउनलोड करें