Skip to main content
← All vulnerabilities
CVE-2026-119586EUVD-2026-113834GHSA-2H5X-4QP8-353H

SQLite CLI through 3.54.1 Command Injection via .recover Output

Published
Last modified
published
Not listed in CISA KEV
Specific setups only
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

SQLite command-line shell through 3.54.1 contains a command injection vulnerability in the .recover command that emits attacker-planted dot-commands stored in sqlite_schema.sql values verbatim. Attackers can craft a database whose schema holds a valid CREATE statement followed by a .shell or .system line, executing OS commands when victims pipe .recover output into sqlite3.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • SQLite SQLite

    through 3.54.1

References 5

GitHub · sqlite/sqlite

abraxaslabs.tech

vulncheck.com

FAQ

Questions about CVE-2026-119586

What does this mean?

When the SQLite command-line tool's .recover output is piped into a second sqlite3 process, a line in the recovered schema that starts with a dot is run as a shell-style command under the operator's user account. A crafted corrupt database can plant such a line.Source: abraxaslabs.tech

Am I affected, and how do I check?

The facts list SQLite through 3.54.1 as the affected range, with 3.53.4 (b09c88c) named as a tested build. The exposure applies to the sqlite3 CLI's .recover and .dump output, not to the libsqlite3 library, and to restore runs that are not in --safe mode. Check your version with sqlite3 --version and whether the restore command uses --safe.Source: abraxaslabs.tech

What should I do about it?

No fixed version is listed in the checked facts, so no upgrade target can be given from these sources. Re-check the SQLite release notes for a version after 3.54.1 before relying on one.Source: abraxaslabs.tech

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: cve.now feed data

What if there's no patch?

Until a fix is confirmed, restore recovered databases with sqlite3 run in --safe mode rather than through a plain pipe. Avoid piping .recover output into an unsandboxed sqlite3 process.Source: abraxaslabs.tech