Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2022-35737 — Stringhe strane: CVE-2022-35737 | Kitploit
Strumenti/GitHubGitHub/gmh5225/cve-2022-35737
Analisi StaticaAnalisi delle VulnerabilitàAnalisi del CodiceExploitApprendimento e FormazioneBinary Exploitation
GitHubgmh5225/cve-2022-35737

CVE-2022-35737

Stringhe strane: CVE-2022-35737

Vedi Repository
1334 anni 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

CVE-2022-35737

Overflow di intero nella funzione sqlite3_str_vappendf di SQLite3.

CVSS 6.7 AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H

CVE-2022-35737 è stato introdotto in SQLite versione 1.0.12 e corretto nella release 3.39.2, disponibile il 21 luglio 2022. È sfruttabile su sistemi a 64 bit e la sfruttabilità dipende da come il programma è compilato: l'esecuzione arbitraria di codice è confermata quando la libreria è compilata senza canary di stack, ma non confermata quando i canary di stack sono presenti; il denial-of-service è confermato in tutti i casi.

Grandi input di stringhe alla funzione sqlite3_str_vappendf possono causare un overflow di interi con segno quando lo specificatore di formato è %q, %Q o %w. Questo può causare la scrittura di dati controllati dall'utente oltre i limiti di un buffer allocato sullo stack, provocando il crash del programma, un ciclo infinito o la possibile esecuzione arbitraria di codice.

Questo repository contiene codice proof-of-concept che dimostra lo sfruttamento della vulnerabilità.

Proof-of-Concept

snprintf-good-example.c

Dimostra che sqlite3_snprintf esegue correttamente l'escape di tutti i caratteri di apice singolo esistenti e aggiunge un apice iniziale e finale a una stringa corta.

Risultato atteso:

root@kitploit:~
$ ./snprintf-good-example
src: hello, 'world'!
dst: 'hello, ''world''!'

snprintf-crash.c

Dimostra che sqlite_snprintf crasha quando viene chiamata con stringhe sufficientemente grandi.

Risultato atteso: SIGSEGV

root@kitploit:~
$ ./snprintf-crash
Segmentation fault (core dumped)

snprintf-control-pc.c

Dimostra che è possibile controllare la lunghezza del buffer overflow per sovrascrivere dati mirati sullo stack, come il canary di stack e l'indirizzo di ritorno salvato.

Risultato atteso: SIGABRT

root@kitploit:~
$ ./snprintf-control-pc
*** stack smashing detected ***: terminated
Aborted (core dumped)

snprintf-livelock.c

Dimostra che è possibile causare un ciclo quasi infinito (2^64 iterazioni) nel programma vulnerabile.

Risultato atteso: ciclo infinito (in una scala temporale ragionevole)

root@kitploit:~
$ ./snprintf-livelock
<no output>
^C

pdo-sqlite3-quote-poc.php

Dimostra che CVE-2022-35737 è raggiungibile dall'interprete PHP quando eseguito con limiti di memoria non predefiniti.

Risultato atteso: SIGSEGV

root@kitploit:~
$ php pdo-sqlite3-quote-poc.php
Segmentation fault (core dumped)

Dockerfile

Se desiderato, i proof-of-concept possono essere eseguiti in un container Docker che ha le dipendenze fissate alla versione vulnerabile della libreria SQLite.

root@kitploit:~
$ docker build -t cve-2022-35737 .
$ docker run -it --rm cve-2022-35737 /bin/bash
root@289cef859649:/poc# ./snprintf-crash
Segmentation fault (core dumped)
Scarica lo strumento