Skip to main content

SQLite CVE-2026-119375

| EUVDEUVD-2026-113786 MEDIUM
Use of Uninitialized Resource (CWE-908)
2026-10-30 VulnCheck GHSA-72w2-rjgg-q729
6.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious database and undersized-pagesize WAL file
  2. Delivery
    Deliver file to victim application
  3. Exploit
    Victim opens database and issues query
  4. Execution
    substr() reads uninitialized WAL page memory
  5. Impact
    Disclose stale table rows and internal pointers

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization
Exploitation Conditions

Exploitation requires the victim to open an attacker-supplied SQLite database accompanied by a crafted WAL file whose WAL-frame page size is smaller than the database page size (AV:L, UI:P in the supplied CVSS 4.0 vector). The application must use WAL journaling mode and execute a query (e.g. substr()) whose record payload exceeds the WAL page size, which causes sqlite3WalReadFrame to return uninitialized bytes. Limiting factors that reduce real-world risk: there is no remote network vector - the malicious file must reach and be opened locally by the victim; impact is confidentiality-only (VC:H, VI:N, VA:N); and applications that never open untrusted database/WAL files are not exposed. No authentication is required of the attacker (PR:N), but the user-interaction prerequisite is the primary gate.

Impact

This is a genuinely medium-tier issue, not a high-CVSS-but-low-risk inflation nor a drop-everything emergency. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VC:H with VI:N/VA:N) describes a local, confidentiality-only information-disclosure flaw that requires the victim to act on attacker-supplied input - it is not a remotely reachable network bug despite PR:N. The signals are internally consistent: low attack vector plus required user interaction (opening a crafted database) explain the moderate 6.8 base score, and the impact is bounded to disclosure of uninitialized page-cache memory. No EPSS score was provided, so exploitation probability cannot be quantified from this data. The CVE is NOT listed in CISA KEV, so there is no confirmed active exploitation. A public research write-up (abraxaslabs) and a VulnCheck advisory are referenced, which lowers the barrier to building an exploit, but these are references rather than confirmed working exploit code. The vuln.today decision label is 'this_month' (prioritized remediation, not emergency), which aligns with a patchable, non-actively-exploited memory-disclosure bug in a ubiquitous library whose practical exploitation is gated by the local/user-interaction requirement.

Exploit ScenarioDerived

An attacker crafts a SQLite database together with a companion WAL file whose declared WAL page size is smaller than the database page size. When a victim application opens this database in WAL journaling mode and runs a query such as substr() over an oversized record payload, sqlite3WalReadFrame reads past the initialized portion of the page and returns stale uninitialized memory, leaking other table rows and internal pointers. A public research reference describes the WAL page-size-mismatch technique, though it is not verified as a working drop-in exploit.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.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 – Oct 30, 2026

An information disclosure flaw in SQLite before 3.54.0 lets an attacker who supplies a crafted database plus WAL file read uninitialized page-cache memory. When the WAL frame page size is smaller than the database page size, sqlite3WalReadFrame copies fewer bytes than requested without zeroing the remainder, so queries with oversized record payloads (for example substr()) can return stale bytes from other table rows and internal pointers. Exploitation is local and user-driven: the victim must open the attacker-supplied database and WAL pair in an application using WAL journaling and then issue such a query. No public exploit code has been identified at time of analysis, and the issue is rated medium tier with confidentiality-only impact; the vendor-released fix is SQLite 3.54.0.

RemediationAI

Upgrade to SQLite 3.54.0 or later, which contains the vendor-released patch; the exact fix is commit e5bf119821f25be1d7f10ef0a2edbe175289166e (source check-in https://sqlite.org/src/info/f9b4ee369557c36c), which zero-fills the remainder of the page buffer in sqlite3WalReadFrame. Because SQLite is commonly statically linked, rebuilding and redistributing every application and language binding that bundles SQLite below 3.54.0 is required, not just replacing a system library. Where an immediate upgrade is not possible, the practical exposure reduction is to avoid opening database files and their accompanying -wal files from untrusted or attacker-supplied sources, and to avoid WAL journaling for databases whose files cross a trust boundary; the trade-off is loss of WAL's concurrency benefits (readers no longer proceed concurrently with a writer) and, for shared or downloaded database files, loss of functionality. Vendor and third-party detail is available in the release notes at https://sqlite.org/releaselog/3_54_0.html, the bug thread at https://sqlite.org/bugs/info/2026-08-17T15:54:41Z, and the VulnCheck advisory at https://www.vulncheck.com/advisories/sqlite-before-3.54.0-information-disclosure-via-wal-page-size-mismatch. No public exploit code has been identified at time of analysis, and the flaw is not listed as confirmed actively exploited (CISA KEV).

Affected VersionsENISA

SQLite 0 <3.54.0

Affected Packages

euvd sqlite fix: 3.54.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

SQLite's write-ahead log stores committed pages as frames appended to a separate WAL file, and readers reconstruct database pages through sqlite3WalReadFrame in src/wal.c. The root cause is CWE-908 (use of uninitialized resource): the frame read path trusted the WAL-declared page size, and when that value was smaller than the caller's requested length, only the short read was performed and the trailing bytes of the destination buffer were left untouched. The upstream fix (commit e5bf119821f25be1d7f10ef0a2edbe175289166e, source check-in f9b4ee369557c36c) explicitly memsets the remainder of the output buffer to zero and clamps nOut before calling sqlite3OsRead, so the fix note reads that the page read from a WAL file where WAL pagesize and database pagesize disagree is now fully initialized. Because the disclosed bytes come from page-cache memory outside the attacker's own data, they can contain fragments of unrelated table rows and internal pointers, making this a memory-disclosure primitive rather than a corruption or execution primitive. The CVSS 4.0 vector places the attack locally (AV:L) with user interaction (UI:P) and high confidentiality impact only (VC:H, VI:N, VA:N), and our assessment maps this to CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N.

Know when Sqlite 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 (VulnCheck) PRIMARY 6.8 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 5.5 MEDIUM

Attacker needs the victim to open a crafted local database/WAL file (AV:L, UI:R) with no privileges (PR:N); only uninitialized memory is disclosed, so C:H, I:N, A:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

SQLite before 3.54.0 contains an information disclosure vulnerability that allows attackers to read uninitialized page-cache memory by supplying a WAL file with an undersized page size. Attackers can craft a database and WAL file whose oversized record payload makes queries like substr() return stale bytes, disclosing other table rows and internal pointers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 93% exploitable
Prevalence
Ubiquitous
embedded database shipped in nearly all OSes, browsers, and mobile devices
Data Quality
6 sources
Confidence: High

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Sqlite

View all
CVE-2015-5895 CRITICAL POC
10.0 Sep 18

Multiple unspecified vulnerabilities in SQLite before 3.8.10.2, as used in Apple iOS before 9, have unknown impact and a

CVE-2019-8457 CRITICAL
9.8 May 30

SQLite3 from 3.6.0 to and including 3.27.2 is vulnerable to heap out-of-bound read in the rtreenode() function when hand

CVE-2022-35737 HIGH POC
7.5 Aug 03

SQLite 1.0.12 through 3.39.x before 3.39.2 sometimes allows an array-bounds overflow if billions of bytes are used in a

CVE-2017-10989 CRITICAL
9.8 Jul 07

The getNodeSize function in ext/rtree/rtree.c in SQLite through 3.19.3, as used in GDAL and other products, mishandles u

CVE-2025-6965 HIGH POC
7.2 Jul 15

Memory corruption in SQLite versions before 3.50.2 allows network-based attackers with low privileges to manipulate aggr

CVE-2019-5018 HIGH POC
8.1 May 10

An exploitable use after free vulnerability exists in the window function functionality of Sqlite3 3.26.0. Rated high se

CVE-2025-71316 CRITICAL POC
9.2 Jun 04

Arbitrary DLL loading in SQLite's sqldiff.exe utility on Windows allows attackers to achieve code execution by abusing t

CVE-2026-11822 MEDIUM POC
6.8 Jun 09

Memory corruption in SQLite versions before 3.53.2 enables attackers to crash processes, exhaust memory, or potentially

CVE-2020-13871 HIGH POC
7.5 Jun 06

SQLite 3.32.2 has a use-after-free in resetAccumulator in select.c because the parse tree rewrite for window functions i

CVE-2020-11655 HIGH POC
7.5 Apr 09

SQLite through 3.31.1 allows attackers to cause a denial of service (segmentation fault) via a malformed window-function

CVE-2021-36690 HIGH POC
7.5 Aug 24

A segmentation fault can occur in the sqlite3.exe command-line component of SQLite 3.36.0 via the idxGetTableInfo functi

CVE-2026-87016 HIGH POC
8.1 Sep 09

OAuth and SCIM identity confusion in Open WebUI 0.6.41-0.10.x (SQLite-backed deployments only) allows unauthenticated re

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