Skip to main content

SQLCipher CVE-2026-51936

| EUVDEUVD-2026-89542 LOW
SQL Injection (CWE-89)
2026-09-30 mitre GHSA-7w4j-532w-pgpj
2.1
CVSS 4.0 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain local ability to influence sqlcipher_export source name
  2. Delivery
    Supply crafted source database name
  3. Exploit
    Bypass temporarily-cleared defensive restrictions
  4. Execution
    Execute schema-manipulating statements
  5. Impact
    Corrupt sqlite_schema / database

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Parameterized queries, prepared statements
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Persistence

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires the host application to call SQLCipher's sqlcipher_export() convenience function AND to pass an attacker-influenced value as the source database name argument; only then can a crafted source name execute statements that defensive mode would normally block. Limiting factors: the attack is local (AV:L), requires the specific and non-universal code path of exporting/converting databases via sqlcipher_export with untrusted input (AT:P), and is confined to SQLCipher versions before 4.15.0. Impact is limited to schema manipulation and database corruption (integrity/availability), not decryption or data disclosure. Applications that never expose the source-name parameter to untrusted input are not realistically exploitable.

Impact

This is a low-real-risk issue despite being a genuine SQL injection (CWE-89). The vendor CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:L, score 2.1) is consistent with the description: the flaw is not a network-reachable data-exfiltration bug but a local, requirements-gated integrity/availability issue. The impact is limited to modifying the sqlite_schema table and corrupting the database (VI:L/VA:L), with no confidentiality impact (VC:N) - notable because the affected product is an ENCRYPTION library, yet this bug does not defeat encryption or leak plaintext. Exploitation status is 'no public exploit identified at time of analysis': there is no CISA KEV listing, no EPSS score provided, and no POC - only a fix commit and a vendor release blog. The AT:P (attack requirements) in the 4.0 vector reflects the real limiting factor: an attacker must be able to feed a crafted source-database-name string into the sqlcipher_export() convenience function, which requires the host application to pass untrusted input into that specific parameter - an uncommon code pattern. No signals conflict; all sources agree this is minor. The only nuance is prevalence: SQLCipher itself is very widely embedded, so a large install base is exposed to a small-impact bug.

Exploit ScenarioDerived

An application uses SQLCipher's sqlcipher_export() convenience function (e.g. to convert between plaintext and encrypted databases) and passes an externally-influenced value as the source database name. An attacker who controls that source-name string supplies a crafted value that executes statements while defensive mode is temporarily relaxed, directly modifying the sqlite_schema table and corrupting the database. No public exploit code exists; a fix commit and vendor tests demonstrate the source-name validation.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 30, 2026

SQLCipher before 4.15.0 contains a local SQL injection in the sqlcipher_export() convenience function when a host application passes an attacker-influenced source database name. A crafted source name can bypass defensive restrictions, execute normally blocked statements, and modify the sqlite_schema table, leading to database corruption; confidentiality is not affected and decryption is not exposed. The independent assessment rates this as a low-real-risk issue despite being a genuine CWE-89 SQL injection, requiring the specific code path of sqlcipher_export with untrusted input; no public exploit identified at time of analysis and no CISA KEV active exploitation is present in the provided data, and SQLCipher 4.15.0 fixes the issue by validating the source database name.

RemediationAI

Upgrade to SQLCipher 4.15.0 (vendor-released patch), which strictly validates the source database name and prevents the SQL injection bypass; see https://www.zetetic.net/blog/2026/04/28/sqlcipher-4.15.0-release/ and the fixing commit https://github.com/sqlcipher/sqlcipher/commit/30842cda35c88cdfc7a8adba1c9b20821d2c08d1. If immediate upgrade is not possible, ensure the host application never passes untrusted, attacker-controlled input as the source database name to sqlcipher_export(); validate that argument against a strict allowlist of expected attached database names (for example, main or temp) before calling the function. Restricting or disabling sqlcipher_export() functionality for untrusted callers is another compensating control, but the trade-off is loss of legitimate database conversion/export workflows, and allowlist validation may break dynamic export use cases that rely on user-provided database names.

Affected VersionsENISA

SQLCipher 0 <4.15.0

Affected Packages

euvd sqlcipher fix: 4.15.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

SQLCipher is an encrypted extension of SQLite. The sqlcipher_export() function copies contents from one attached database to another and is commonly used to convert between plaintext and encrypted databases; it performs dynamic schema manipulation and temporarily clears defensive restrictions during operation. CVE-2026-51936 is CWE-89 (improper neutralization of special elements used in an SQL command) in the handling of the source database name parameter: insufficient validation allowed a caller to supply a crafted source name that executed statements defensive mode would otherwise block, potentially modifying sqlite_schema and corrupting the database. The fix commit 30842cda adds sourceDb_idx validation via sqlcipher_find_db_index(), rejecting invalid source database names before export. The provided CVSS 4.0 vector is AV:L/AC:L/AT:P/PR:N/UI:N with VC:N/VI:L/VA:L, and the independent assessment CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L confirms a local, high-complexity path with integrity and availability impact limited to schema manipulation, not data disclosure.

Know when Sqlcipher gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 2.1 LOW
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:L
vuln.today AI 4.0 MEDIUM

Local-only, requires app to route untrusted input into the export source-name argument (AC:H); no auth needed at library level (PR:N); limited integrity and availability from schema corruption, no confidentiality impact.

3.1 AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L
4.0 AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:L

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
Low

Lifecycle Timeline

2
Patch available
Sep 30, 2026 - 01:01 EUVD
CVE Published
Sep 30, 2026 - 00:19 cve.org
LOW 2.1

DescriptionCVE.org

Zetetic SQLCipher before 4.15.0 allows SQL injection. The sqlcipher_export convenience function can be used to copy the contents of one attached database into another. It is most often used to convert between plaintext and encrypted databases. It needs to do dynamic schema manipulation, and thus the function temporarily clears defensive restrictions during operation. A vulnerability in the handling of the source database name parameter made it possible for a caller to supply a crafted source name, which could execute statements that defensive mode would otherwise block. This could allow direct modifications to the sqlite_schema table and database corruption. SQLCipher 4.15.0 now strictly validates the source database name and prevents the bypass.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
High
SQLCipher is a widely embedded encrypted-SQLite library across mobile and desktop apps
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Small
Automatable
Yes
Human Impact· derived
High
Technical Impact
Total

Priority Score

10
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

SQL injection exploits the way applications construct database queries by mixing user input directly into SQL statements.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy