SQLite FTS5 Fixes `fts5vocab` Buffer Overread for Term Range Constraints

A critical buffer overread vulnerability has been patched in the SQLite trunk, specifically affecting the fts5vocab virtual table. This fix addresses a regression that could lead to crashes or undefined behavior when FTS5 queries involved 'term < value' constraints. Users leveraging SQLite's full-text search capabilities should be aware of this important update for system stability and data integrity.

What changed

A significant stability fix has been merged into the SQLite source timeline, targeting a buffer overread condition within the fts5vocab virtual table. This issue manifested when full-text search queries utilized lexicographical range constraints, specifically in the format of 'term < value'. The fts5vocab table is fundamental to how FTS5 processes and optimizes queries by accessing term-related metadata.

The root cause of this vulnerability was a regression introduced by an earlier commit, db05b203f4, which altered the memory access logic during term constraint evaluation. Prior to this fix, processing certain 'term < value' comparisons could cause the fts5vocab implementation to read beyond the boundaries of an allocated buffer. Such an overread can lead to a range of severe consequences, including immediate program crashes, unpredictable undefined behavior, or in more sophisticated scenarios, potential memory corruption that could be exploited for security vulnerabilities.

This correction ensures that all memory access operations within fts5vocab related to term range constraints are properly bounds-checked. It rectifies the internal logic responsible for comparing terms against specified values, preventing any unauthorized or erroneous access to adjacent memory regions. The fix does not introduce any new APIs or change existing FTS5 query syntax; instead, it strengthens the underlying robustness and reliability of the FTS5 extension's core functionality. This update is now part of the SQLite trunk and will be integrated into all future official SQLite releases, ensuring a more stable and secure FTS5 experience.

Who this affects

Developers and database administrators whose applications heavily rely on SQLite's FTS5 extension for full-text search capabilities should pay close attention to this fix. Specifically, systems that generate or process complex search queries involving term range constraints, such as term < 'apple' or term < '123', are directly affected. This includes scenarios where user-provided input might dynamically construct such constraints.

Applications built on unreleased SQLite trunk versions after the db05b203f4 commit but before this fix are particularly susceptible. While users who do not employ fts5vocab with 'less than' term constraints may not directly trigger this specific bug, memory overreads are fundamentally unpredictable, making a proactive upgrade advisable for any FTS5 user. Those not using FTS5 at all, or using very old, stable SQLite releases that predate the problematic commit, are unlikely to be impacted.

Verdict

Given that this addresses a buffer overread, a class of bug with serious implications for system stability and potential security, the verdict is clear: upgrade to a version incorporating this fix as soon as it becomes available in an official SQLite release. While the fix is currently in the source trunk, monitoring the SQLite project for the next stable release that includes this correction is crucial. For production environments utilizing FTS5 with term range constraints, particularly 'less than' comparisons, continuing on an unpatched version introduces an unacceptable risk of crashes and undefined behavior.

While this fix primarily concerns internal memory handling and is unlikely to introduce breaking API changes, thorough testing of your application with the patched SQLite version is always recommended. This is a critical stability enhancement for the FTS5 extension, reinforcing the integrity of your full-text search operations and preventing difficult-to-diagnose runtime issues. Proactive adoption of this fix is a high-priority action item for affected systems.

Source: SQLite Source Timeline

---

Also shipping today

- [llama.cpp] llama.cpp v0.1.2 Released (llama.cpp) (https://github.com/ggml-org/llama.cpp/releases/tag/v0.1.2)
- [Ollama] Ollama v0.32.13 Released with Qwen3.8 Support (Ollama) (https://github.com/ollama/ollama/releases/tag/v0.32.13)
- [Hugging Face Trending] Qwen3.8-27B-Uncensored-GGUF Model Trends on Hugging Face (JonathanColetti) (https://huggingface.co/JonathanColetti/Qwen3.8-27B-Uncensored-GGUF)
- [Claude Code] Claude Code v2.1.235 Released (Claude Code) (https://github.com/anthropics/claude-code/releases/tag/v2.1.235)
- [Google Developers Blog] HeyGen Migrates Avatar IV Video Model to Google Cloud TPUs (Google Developers Blog) (https://developers.googleblog.com/heygen-x-google-cloud-bringing-avatar-iv-to-tpUs/)
- [GitHub Changelog] Enterprise Managed Settings Now Available for GitHub Copilot in JetBrains (GitHub Changelog) (https://github.blog/changelog/2026-08-18-enterprise-managed-settings-in-github-copilot-for-jetbrains)

Tracked daily from official release feeds and vendor changelogs. Full archive: https://media.patentllm.org