Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sqlite-session-ncol — SQLite 3.53.4 - Alto - Locale - scrittura OOB nell'heap - changeset di sessione con crescita nCol omonima | Kitploit
Strumenti/GitHubGitHub/abraxas/sqlite-session-ncol
Memory ForensicsAnalisi delle VulnerabilitàExploitFuzzingAnalisi di BinariPaper e RicercaSicurezza dei Database
GitHubabraxas/sqlite-session-ncol

sqlite-session-ncol

SQLite 3.53.4 - Alto - Locale - scrittura OOB nell'heap - changeset di sessione con crescita nCol omonima

Vedi Repository
76 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Abraxas Labs - sqlite-session-ncol

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

sqlite-session-ncol

Classe: heap OOB write Reach: Locale

SQLite 3.53.4 (b09c88c14082339b66c7b7158d609a771e64ca69, SOURCE_ID 2026-07-24 19:02:57 bf7c7f30031888f4e796e429ab3978879485813aaca6f641c7b33e4e09459bcc) con -DSQLITE_ENABLE_SESSION. Un changeset a due blocchi che riutilizza il nome di tabella t con nCol=2 e poi nCol=64 salta il reset di sessionTableInfo (sqlite3session.c:5619) ed esegue memset oltre l'aUpdateMask del primo blocco. ASan WRITE di dimensione 12 in sessionUpdateFind. Controllo singolo UPDATE a 2 colonne apply-rc=0.

Non è un amalgamation predefinito a meno che SESSION sia attivo. CVE-2026-50812 NPD è chiuso su 3.53.2+. Non è un payload RCE weaponizzato. L'oracolo è l'ASan WRITE.

IDnessuna CVE al momento
Classeheap OOB write (ASan WRITE di dimensione 12; RCE non dimostrata)
ReachLocale (changeset non attendibile tramite sqlite3changeset_apply*)
CWECWE-787
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
ProdottoSQLite Session extra (Hwaci)
Affetto3.53.4 (b09c88c) compilato -DSQLITE_ENABLE_SESSION
Authl'host applica un changeset non attendibile
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:18900. Testimone ASan WRITE-of-size-12.

Cosa può fare un attaccante

Applicare un changeset non attendibile il cui secondo blocco di tabella riutilizza un nome di tabella con un nCol maggiore. Heap OOB write. Extra di compilazione. Non è un amalgamation predefinito a meno che SESSION sia attivo.

Il primo blocco alloca aUpdateMask da pIter->nCol. Il blocco successivo con lo stesso nome salta il reset di sessionTableInfo ed esegue memset di una maschera più grande sopra la vecchia allocazione. Lab: nCol=2 e poi nCol=64 UPDATE. ASan WRITE di dimensione 12 in sessionUpdateFind. Controllo singolo UPDATE a 2 colonne apply-rc=0.

Non trattare questo pacchetto come un gadget write-what-where. ASan WRITE-of-size-12 è l'oracolo.

Come l'ho trovato

Venti ricerche nel sorgente di SQLite 3.53.4 dopo l'ondata FTS5 / session-NPD di 3.53.2. CVE-2026-50812 è chiuso (sessionBindRow tratta un valore mancante come SQLITE_CORRUPT). Session continua a usare come chiave SessionApplyCtx solo sul nome della tabella. Un secondo blocco con lo stesso nome e un numero di colonne dichiarato maggiore riutilizza aUpdateMask.

Vicoli ciechi già registrati: considerare l'amalgamation predefinito come in scope (SESSION è disattivato); ri-segnalare CVE-2026-50812; inviare un singolo blocco di tabella con nCol=64 contro uno schema a 2 colonne (schemaMismatch, nessuna scrittura); dichiarare RCE da un memset di 12 byte.

Lab

cd lab
./run.sh

Amalgamation ASan dallo zip ufficiale sqlite-src-3530400. Extra di compilazione -DSQLITE_ENABLE_SESSION -DSQLITE_ENABLE_PREUPDATE_HOOK. Health su 127.0.0.1:18900. Associalo al loopback.

SUCCESS sqlite-session-ncol how=asan-heap-write-sessionUpdateFind write-size=12 control-apply-rc=0 SQLITE-SESSION-NCOL-WITNESS

La correzione

Quando un blocco di tabella di un changeset successivo riutilizza un nome, ricostruisci SessionApplyCtx come già avviene per un nuovo nome: libera aUpdateMask, riesegui sessionTableInfo, rifiuta un nCol maggiore rispetto allo schema attivo. Trunk 3f57024aec / branch-3.53 a1dd7123d8 (2026-08-17) è successivo a questa GA.

Riferimenti

  • 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
  • Forum https://sqlite.org/bugs/info/2026-08-16T10:15:25Z
  • CVE-2026-50812 session NPD è chiuso su 3.53.2+
Scarica lo strumento