SQLite before 3.54.0 built with FTS5 contains a heap buffer overflow in fts5MergeRowidLists() that undersizes the output buffer when merging detail=none prefix doclists. Attackers who can populate a detail=none FTS5 table with negative rowids and run a prefix MATCH query can write past the allocation, corrupting heap memory and crashing the process.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://sqlite.org/src/info/a7f8c92f62 patch
- https://github.com/sqlite/sqlite/commit/e1c9934f9f11a499029abb020ea715a08970da80 patch
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 8.5 · sqliteNVD modified 2026-10-30 11:30
Affected (CPE criteria) 0
NVD has not attached CPE configurations yet.
References 8
- https://sqlite.org/bugs/info/2026-08-04T08:49:27Z issue-tracking
- https://sqlite.org/src/info/a7f8c92f62 patch
- https://github.com/sqlite/sqlite/commit/e1c9934f9f11a499029abb020ea715a08970da80 patch
- https://github.com/sqlite/sqlite/blob/version-3.53.4/ext/fts5/fts5_index.c#L6107 technical-description
- https://sqlite.org/releaselog/3_54_0.html release-notes
- https://abraxaslabs.tech/research/sqlite-fts5-rowidmerge third-party-advisory
- https://github.com/sqlite/sqlite product
- https://www.vulncheck.com/advisories/sqlite-before-3.54.0-fts5-heap-buffer-overflow-via-fts5mergerowidlists third-party-advisory