Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted SQLite database to target
-
DeliveryVictim app opens DB with FTS5 and secure-delete enabled
-
ExploitDELETE operation triggers out-of-bounds write in fts5DoSecureDelete
-
ExecutionHeap memory corruption via crafted footer key offsets
-
ImpactApplication crash / denial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires all of the following concrete preconditions: (1) SQLite must be built with the FTS5 full-text-search extension compiled in; (2) secure-delete mode must be enabled (SQLite's secure_delete pragma is OFF by default, so this is a non-default configuration); (3) the attacker must supply a database file containing an FTS5 index with corrupted/crafted footer key offsets; and (4) the victim application must open that untrusted database and execute a DELETE against the FTS5 table, which is the operation that invokes fts5DoSecureDelete(). Limiting factors that reduce realistic risk: the attack vector is LOCAL (the malicious database must first reach the target and be processed, not sent over a network), it needs the victim/application to perform the delete (UI:P / user interaction), FTS5 is not always compiled in, and secure-delete is not enabled by default - so default SQLite deployments that do not process attacker-controlled database files are not exposed. |
| Impact | The input CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VC:H/VI:H/VA:H) yields 8.5 (high), but the signals pull in different directions. Attack vector is LOCAL and requires passive user interaction (UI:P), meaning an attacker must get a crafted SQLite database in front of a victim application and have it operated on - this is not remote, network-facing exploitation. The vuln.today decision label is 'this_week', not act_now or emergency. There is no CISA KEV listing (not confirmed actively exploited) and no EPSS score was provided, so widespread or automated exploitation is not evidenced. A public PoC reference exists (VulnCheck/abraxaslabs research plus a reproducer database embedded in the vendor's fts5corruptB.test), though the input does not confirm it as a working weaponized exploit. Note a discrepancy to verify: the published CVSS claims full confidentiality AND integrity AND availability impact (VC:H/VI:H/VA:H), yet the description only states that heap memory is corrupted and the application crashes - it does not demonstrate data disclosure or code execution, so the confidentiality/RCE claim is not substantiated by the available description. Net: a genuine memory-safety defect worth patching on the stated 'this week' cadence, with elevated priority for software that opens untrusted SQLite files with FTS5 and secure-delete, but the local vector, required user interaction, and non-default preconditions make it lower real-world risk than the 8.5 alone suggests. |
| Exploit ScenarioDerived | An attacker crafts a malicious SQLite database containing an FTS5 index with corrupted footer key offsets and delivers it to a target application that opens untrusted database files with FTS5 compiled in and secure-delete enabled. When the application performs a DELETE against the FTS5 table, fts5DoSecureDelete() writes past the leaf page buffer, corrupting the heap and crashing the process. A reproducer database exists in the vendor's test suite and in the VulnCheck/abraxaslabs research writeup, but the input does not confirm it as verified working exploit code. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 30, 2026
Heap buffer overflow in SQLite's FTS5 full-text extension (all releases before 3.54.0) allows an attacker who supplies a crafted database file to write past a leaf-page buffer when the FTS5 secure-delete path processes a corrupted index, corrupting heap memory and potentially crashing the host application. Exploitation is not free-standing: it requires FTS5 to be compiled in, the non-default secure_delete pragma to be enabled, and the victim application to open the untrusted database and execute a DELETE against the poisoned FTS5 table - prerequisites that the independent assessment captures as a local vector with user interaction (CVSS 3.1 AV:L/AC:L/PR:N/UI:R/C:N/I:H/A:H), which is more constrained than the input CVSS 4.0 score of 8.5 (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H). SQLite 3.54.0 contains the upstream fix; the supplied intelligence shows no CISA KEV entry and no confirmed working exploit code, and the vuln.today decision label is this_week.
RemediationAI
Upgrade to SQLite 3.54.0 or later, which is the version given in the supplied patch data and release log (https://sqlite.org/releaselog/3_54_0.html); the fix is the upstream commit d9de6eedbe918c074c7556400fa21df5960704d9, mirrored at https://sqlite.org/src/info/9cd4f9e920, so embedded deployments must rebuild or replace the bundled SQLite library rather than rely on a system package alone. Where an immediate upgrade is not possible, keep the secure_delete pragma disabled - it is off by default, and enabling it is what routes deletes through fts5DoSecureDelete(); the trade-off is that deleted content may persist in free pages and remain recoverable from the file, which matters for confidentiality-sensitive workloads. Refuse to open untrusted or attacker-supplied SQLite database files with a vulnerable build, or process them only inside a sandboxed, least-privilege worker, and compile FTS5 out entirely if the application does not use full-text search. The primary vendor fix should be tracked through the VulnCheck advisory at https://www.vulncheck.com/advisories/sqlite-before-3.54.0-heap-buffer-overflow-via-fts5-fts5dosecuredelete and the technical analysis at https://abraxaslabs.tech/research/sqlite-fts5-securedel.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FTS5 stores full-text index content in segment leaf pages whose footers encode key offsets as varints. fts5DoSecureDelete() is the routine that rewrites a leaf page when secure-delete mode is active, walking the stored keys and emitting adjusted key deltas into a buffer sized to the original page. When an attacker-controlled database contains a corrupted FTS5 index with crafted footer key offsets, the input key pointer (iKeyIn) can advance past the valid page boundary and subsequent writes land beyond the heap-allocated page buffer - a classic CWE-787 out-of-bounds write. The upstream fix, commit d9de6eedbe918c074c7556400fa21df5960704d9 (sqlite.org src info 9cd4f9e920), adds a bounds check of the form if( iKeyIn>nPg ){ FTS5_CORRUPT_IDX(p); break; }, promotes iKeyIn/iKeyOut to 64-bit integers, separates the output length into nNewPg, and gates the final fts5DataWrite on p->rc==SQLITE_OK so a corrupted page is never written back. A regression fixture was added to ext/fts5/test/fts5corruptB.test using a hexdb PoC database. The trigger described in the available sources is the secure-delete DELETE path against a crafted FTS5 table; how the flaw might be reached outside that path is not described.
Know when Sqlite gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
A local attacker-supplied database must be processed by the victim app (AV:L, UI:R, PR:N); evidence shows only heap corruption and a crash, so I:H/A:H but C:N with no disclosure described.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
SQLite before 3.54.0 built with FTS5 contains a heap buffer overflow in fts5DoSecureDelete() that allows attackers to write past the leaf page buffer via crafted footer key offsets. Attackers can supply a database file with a corrupted FTS5 index that, when deleted from with secure-delete enabled, corrupts heap memory and crashes the application.
Executive ViewAI
A high-severity heap buffer overflow in SQLite's FTS5 extension (CVE-2026-119374) affects all releases before 3.54.0 and could enable memory corruption when untrusted databases are opened, posing risks to products that embed SQLite with FTS5 and secure_delete enabled. Leadership should prioritize updating to the patched version (3.54.0) to protect data integrity and availability, as the vulnerability requires user interaction but can lead to serious operational disruption.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Multiple unspecified vulnerabilities in SQLite before 3.8.10.2, as used in Apple iOS before 9, have unknown impact and a
SQLite3 from 3.6.0 to and including 3.27.2 is vulnerable to heap out-of-bound read in the rtreenode() function when hand
SQLite 1.0.12 through 3.39.x before 3.39.2 sometimes allows an array-bounds overflow if billions of bytes are used in a
The getNodeSize function in ext/rtree/rtree.c in SQLite through 3.19.3, as used in GDAL and other products, mishandles u
Memory corruption in SQLite versions before 3.50.2 allows network-based attackers with low privileges to manipulate aggr
An exploitable use after free vulnerability exists in the window function functionality of Sqlite3 3.26.0. Rated high se
Arbitrary DLL loading in SQLite's sqldiff.exe utility on Windows allows attackers to achieve code execution by abusing t
Memory corruption in SQLite versions before 3.53.2 enables attackers to crash processes, exhaust memory, or potentially
SQLite 3.32.2 has a use-after-free in resetAccumulator in select.c because the parse tree rewrite for window functions i
SQLite through 3.31.1 allows attackers to cause a denial of service (segmentation fault) via a malformed window-function
A segmentation fault can occur in the sqlite3.exe command-line component of SQLite 3.36.0 via the idxGetTableInfo functi
OAuth and SCIM identity confusion in Open WebUI 0.6.41-0.10.x (SQLite-backed deployments only) allows unauthenticated re
EUVD-2026-113785
GHSA-gr85-mf7f-6pq7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB