Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sqlite-session-ncol — SQLite 3.53.4 - उच्च - स्थानीय - हीप OOB राइट - सत्र चेंजसेट समान-नाम nCol वृद्धि | Kitploit
उपकरण/GitHubGitHub/abraxas/sqlite-session-ncol
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणफज़िंगबाइनरी विश्लेषणपेपर और शोधडेटाबेस सुरक्षा
GitHubabraxas/sqlite-session-ncol

sqlite-session-ncol

SQLite 3.53.4 - उच्च - स्थानीय - हीप OOB राइट - सत्र चेंजसेट समान-नाम nCol वृद्धि

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

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

सभी देखें →

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

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

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

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

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) को छोड़ देता है और पहले ब्लॉक के aUpdateMask से आगे memset कर देता है। sessionUpdateFind में आकार 12 का ASan WRITE। नियंत्रण: एकल 2-col UPDATE apply-rc=0।

यह डिफ़ॉल्ट amalgamation नहीं है जब तक SESSION चालू न हो। CVE-2026-50812 NPD 3.53.2+ पर बंद है। यह weaponized RCE payload नहीं है। oracle ASan WRITE है।

IDअभी तक कोई CVE नहीं
वर्गheap OOB write (आकार 12 का ASan WRITE; RCE प्रदर्शित नहीं)
पहुँचस्थानीय (sqlite3changeset_apply* के माध्यम से अविश्वसनीय changeset)
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 extra (Hwaci)
प्रभावित3.53.4 (b09c88c) -DSQLITE_ENABLE_SESSION के साथ संकलित
प्रमाणीकरणहोस्ट एक अविश्वसनीय changeset लागू करता है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1:18900। आकार-12 के ASan WRITE का साक्ष्य।

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

एक अविश्वसनीय changeset लागू करें जिसका दूसरा तालिका ब्लॉक बड़े nCol के साथ तालिका नाम का पुनः उपयोग करता है। heap OOB write। extra संकलित करें। यह डिफ़ॉल्ट amalgamation नहीं है जब तक SESSION चालू न हो।

पहला ब्लॉक pIter->nCol से aUpdateMask आवंटित करता है। बाद में आने वाला समान-नाम वाला ब्लॉक sessionTableInfo रीसेट को छोड़ देता है और पुराने आवंटन के ऊपर एक बड़े mask को memset कर देता है। लैब: nCol=2 फिर nCol=64 UPDATE। sessionUpdateFind में आकार 12 का ASan WRITE। नियंत्रण: एकल 2-col UPDATE apply-rc=0।

इस पैक को write-what-where gadget न मानें। आकार-12 का ASan WRITE ही oracle है।

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

3.53.2 FTS5 / session-NPD लहर के बाद SQLite 3.53.4 की बीस स्रोत खोजें। CVE-2026-50812 बंद है (sessionBindRow अनुपस्थित मान को SQLITE_CORRUPT मानता है)। Session अभी भी SessionApplyCtx को केवल तालिका नाम पर key करता है। समान नाम और बड़ी घोषित कॉलम संख्या वाला दूसरा ब्लॉक aUpdateMask का पुनः उपयोग करता है।

पहले से दर्ज गलत रास्ते: डिफ़ॉल्ट amalgamation को in-scope मानना (SESSION बंद है); CVE-2026-50812 को फिर से दर्ज करना; 2-col schema के विरुद्ध nCol=64 वाला एक तालिका ब्लॉक भेजना (schemaMismatch, कोई write नहीं); 12-बाइट memset से RCE का दावा करना।

लैब

cd lab
./run.sh

आधिकारिक sqlite-src-3530400 zip से ASan amalgamation। अतिरिक्त -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK के साथ संकलित करें। 127.0.0.1:18900 पर हेल्थ। इसे लूपबैक से बाइंड करें।

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+ पर बंद है
टूल डाउनलोड करें