Description
SQLite before 3.54.0 contains a stack exhaustion vulnerability that allows attackers to bypass the SQLITE_LIMIT_EXPR_DEPTH nesting limit because common table expressions are not counted against it. Attackers can supply a WITH clause chaining tens of thousands of CTEs, via plain SQL or a view in an untrusted database file, causing unbounded selectExpander() recursion that crashes the process.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
SQLite SQLite
Default version status: unaffected
0 to < 3.54.0affected
References
- https://sqlite.org/bugs/info/2026-10-04T04:58:58Z ↗
- https://sqlite.org/src/info/f54730871303e655 ↗
- https://github.com/sqlite/sqlite/commit/e6ff280c839fdfc7418fd5add12e8f32702a17fb ↗
- https://github.com/sqlite/sqlite/blob/version-3.53.4/src/select.c#L5754 ↗
- https://sqlite.org/releaselog/3_54_0.html ↗
- https://abraxaslabs.tech/research/sqlite-cte-nest ↗
- https://github.com/sqlite/sqlite ↗
- https://www.vulncheck.com/advisories/sqlite-before-3.54.0-stack-exhaustion-via-cte-chain-in-selectexpander ↗