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

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - sqlite-fts5-securedel

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

sqlite-fts5-securedel

Class: Crash Reach: Local

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69) - Hwaci

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

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

IDअभी तक कोई CVE नहीं
ClassCrash (आकार 1 का ASan WRITE; RCE प्रदर्शित नहीं)
ReachLocal (एक crafted FTS5 डेटाबेस खोलें, फिर DELETE/flush करें)
CWECWE-787
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
ProductSQLite (GitHub मिरर sqlite/sqlite)
Affected3.53.4 SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
Authकोई नहीं (अविश्वसनीय इंडेक्स फ़ाइल)
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1:18860। ASan heap write। कोई RCE payload नहीं।

हमलावर क्या कर सकता है

एक crafted FTS5 डेटाबेस खोलें जो पहले से ही secure-delete का उपयोग कर चुका है, फिर DELETE (या कोई भी write जो secure-delete को flush करता है) करें ताकि fts5DoSecureDelete Fts5Data से आगे footer varints लिख दे। आकार 1 का Crash / ASan heap write। RCE प्रदर्शित नहीं। CVE-2026-11824 नहीं।

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

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

अन्य डेटाबेस और HTTP-server pins के बाद SQLite 3.53.4 की बीस स्रोत खोजें। CVE-2026-11822 / CVE-2026-11824 इस tree पर बंद है (fts5LeafRead szLeaf<4)। YEONBA की बाद की trunk bound नहीं है। 3.53.4 की fts5corruptB.test फ़ाइल अभी भी test 3.2 पर समाप्त होती है; trunk test 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; एक live CREATE/INSERT plant जो szLeaf को सीमा में रखता था और overflow नहीं करता था; payload के बिना 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) आवश्यक है। Bind 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 frames: fts5PutVarint64 -> sqlite3Fts5PutVarint -> fts5DoSecureDelete / fts5FlushSecureDelete।

समाधान

मूल nPg रखें। iKeyIn को i64 तक चौड़ा करें। sqlite3Fts5PutVarint से पहले iKeyIn>nPg को अस्वीकार करें। यही Fossil 9cd4f9e920 / branch-3.53 34171bee08 है। इसे 3.53 पर cherry-pick करें।

संदर्भ

  • https://sqlite.org/src tag version-3.53.4 Git b09c88c14082339b66c7b7158d609a771e64ca69
  • ext/fts5/fts5_index.c fts5DoSecureDelete, fts5FlushSecureDelete, fts5LeafRead
  • ext/fts5/fts5_varint.c sqlite3Fts5PutVarint
  • Trunk fix Fossil 9cd4f9e920 / Git d9de6eedbe91 / branch-3.53 34171bee08 (2026-08-11, YEONBA)
  • CVE-2026-11824 बंद szLeaf<4 parent है, यह अवशेष नहीं
टूल डाउनलोड करें