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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
sqlite-wal-pagesize — SQLite 3.53.4 - उच्च - स्थानीय - सूचना लीक - WAL/DB पृष्ठ-आकार बेमेल अनइनिशियलाइज़्ड पृष्ठ टेल | Kitploit
उपकरण/GitHubGitHub/abraxas/sqlite-wal-pagesize
मेमोरी फोरेंसिकभेद्यता विश्लेषणशोषणजानकारी एकत्र करनापेपर और शोधडेटाबेस सुरक्षालैब और अभ्यास
GitHubabraxas/sqlite-wal-pagesize

sqlite-wal-pagesize

SQLite 3.53.4 - उच्च - स्थानीय - सूचना लीक - WAL/DB पृष्ठ-आकार बेमेल अनइनिशियलाइज़्ड पृष्ठ टेल

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - sqlite-wal-pagesize

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

राइट-अप: https://abraxaslabs.tech/research/sqlite-wal-pagesize

sqlite-wal-pagesize

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

SQLite 3.53.4 (b09c88c) अभी भी एक WAL फ़्रेम को बिना किसी टेल memset के पूर्ण pager पेज में शॉर्ट-रीड करता है। walIndexRecover [512, SQLITE_MAX_PAGE_SIZE] में किसी भी पावर-ऑफ़-टू WAL पेज आकार को स्वीकार करता है और इसे कभी भी डेटाबेस पेज आकार से तुलना नहीं करता। पुनर्चक्रित pcache स्लॉट तब सामान्य SQL के माध्यम से पूर्व के heap/पेज बाइट्स लौटा देते हैं।

लैब: 4096-पेज WAL-मोड .db, सहोदर -wal हेडर पेज आकार 512, SELECT b FROM t ने 2000 बाइट्स लौटाए। 512-बाइट फ़्रेम के आगे का टेल SQLITE-WAL-PAGESIZE-WITNESS था। RCE नहीं।

IDअभी तक कोई CVE नहीं
वर्गसूचना लीक (SQL के माध्यम से अनइनिशियलाइज़्ड pager टेल)
पहुँचस्थानीय (अविश्वसनीय .db सहित सहोदर -wal)
CWECWE-908, CWE-200
CVSSउच्च: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
उत्पादSQLite (Hwaci)
प्रभावित3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69); SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc
प्रमाणीकरणकोई नहीं (पीड़ित हमलावर की फ़ाइलें खोलता है)
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1:18830

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

एक WAL-मोड .db और सहोदर -wal भेजें जिसका हेडर पेज आकार डेटाबेस से छोटा वैध पावर-ऑफ़-टू हो। रिकवरी इसे स्वीकार कर लेती है। sqlite3WalReadFrame केवल WAL फ़्रेम आकार को .db से आकारित pager बफ़र में कॉपी करता है। एक टेबल-लीफ़ सेल जो उस फ़्रेम से बड़े पेलोड का दावा करता है, पुनर्चक्रित pcache टेल से संतुष्ट हो जाता है। उस ब्लॉब पर SELECT / substr() / hex() उसी प्रक्रिया में पूर्व के पेजों से बचे pager/heap बाइट्स लौटाता है।

विपरीत बेमेल (pager से बड़ा WAL) चेकपॉइंट पर SQLITE_CORRUPT है। यह अवशेष केवल छोटे-WAL पठन पथ का है। RCE नहीं।

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

बाद के-ट्रंक अवशेष मैट्रिक्स के बाद 3.53.4 की बीस स्रोत खोजें। Winter ने इसे फ़ोरम पर 2026-08-17T15:54:41Z के रूप में रिपोर्ट किया। ट्रंक f9b4ee3695 / branch-3.53 4fde87b2a0 (2026-08-16) इस GA (2026-07-24) के बाद है। इस पिन पर sqlite3WalReadFrame अभी भी (nOut>sz ? sz : nOut) है, टेल के किसी memset के बिना।

गलत मोड़: एक प्रारंभिक लीफ़ सेल विकृत था और SELECT ने SQLITE_CORRUPT rc=11 लौटाया। जो सेल काम करता है वह 4096-बाइट pager पेज पर 512-बाइट फ़्रेम में 2000 बाइट्स के स्थानीय पेलोड का दावा करता है।

लैब

cd lab
./run.sh

SQLite 3.53.4 को canonical source zip से बनाता है। sqlite-wal-pagesize को compose करता है। 127.0.0.1:18830 पर प्रकाशित करता है। pcache को 48x4000-बाइट witness पंक्तियों से प्राइम करता है, फिर short-read leaf पर SELECT b FROM t चलाता है।

SUCCESS sqlite-wal-pagesize how=wal-shortread-pcache-tail len=2000 rootpage=2 SQLITE-WAL-PAGESIZE-WITNESS

समाधान

रिकवरी के दौरान WAL हेडर पेज साइज़ की तुलना डेटाबेस पेज साइज़ से करें। जब वे मेल न खाएँ, तो WAL को अस्वीकार करें या pager पेज को पूरी तरह से इनिशियलाइज़ करें:

if( nOut>sz ){
  memset(pOut+sz, 0, nOut-sz);
  nOut = sz;
}

यह हंक इस GA के बाद ट्रंक पर है। यह 3.53.4 में नहीं है।

संदर्भ

  • sqlite.org/src टैग version-3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69)
  • src/wal.c sqlite3WalReadFrame, walIndexRecover
  • src/pager.c readDbPage
  • फ़ोरम 2026-08-17T15:54:41Z (Winter)
टूल डाउनलोड करें