Skip to main content

SQLite EUVDEUVD-2026-113783

| CVE-2026-119372 MEDIUM
Use After Free (CWE-416)
2026-10-30 VulnCheck GHSA-p82x-8j2g-f2c7
6.8
CVSS 4.0 · Vendor: VulnCheck
Temporal: 5.5
View

Attack ChainAIDerived

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

  1. Access
    Obtain SQL query access to an FTS3/FTS4 table
  2. Exploit
    Craft MATCH query combining OR and NEAR with snippet()
  3. Execution
    Trigger use-after-free of cached position-list pointers in fts3BestSnippet()
  4. Impact
    Read freed heap and crash the process

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

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

Exploitation Conditions

Requires SQLite compiled with FTS3/FTS4 support AND the non-default compile-time option SQLITE_ENABLE_FTS3_PARENTHESIS, and an FTS3/FTS4 virtual table the attacker can query. The attacker must be able to execute a full-text MATCH query that combines OR and NEAR operators together with a snippet() call (e.g. MATCH '"a" OR "" bbb NEAR 0 NEAR 1' with snippet()). Limiting factors: this is not reachable at the SQLite layer over a network by itself (AV:L) - an attacker needs the ability to run/influence SQL against the FTS table via the host application; the required FTS3_PARENTHESIS build flag is not enabled in default SQLite builds, substantially narrowing the exposed population; impact is limited to a crash (DoS) with no confirmed code execution or integrity impact.

Impact

This is a genuine but moderate-priority issue (CVSS 4.0 base 6.8, Medium), not a drop-everything emergency, and the signals are largely consistent. The vendor CVSS vector is AV:L/AC:L/PR:N/UI:P with only availability impact (VA:H; VC:N/VI:N), meaning the realistic outcome is a process crash/denial of service rather than code execution or data theft. It is NOT in CISA KEV and no EPSS score was supplied, so there is no evidence of active or widespread exploitation; the vuln.today decision label is 'this_month', indicating routine patching urgency rather than act_now/emergency. A public PoC reference exists (abraxaslabs research writeup plus a reproducing regression test added in the fix), so the trigger is well understood, but it is not verified as weaponized exploit code. One notable tension: the description states the flaw lets an attacker 'read freed heap memory', which implies a possible information-disclosure angle, yet the vendor vector sets VC:N (no confidentiality impact) and treats it purely as a crash - this discrepancy should be verified with the vendor/VulnCheck advisory before ruling out any heap-content leakage into snippet() output. Overall: a real DoS bug constrained to a non-default build configuration and local SQL-execution reach, warranting patching on a normal cycle, not crisis response.

Exploit ScenarioDerived

An attacker able to submit crafted full-text search queries to an application that uses SQLite built with FTS3/FTS4 and SQLITE_ENABLE_FTS3_PARENTHESIS runs a MATCH query combining OR and NEAR operators together with snippet(), causing fts3BestSnippet() to follow dangling cached position-list pointers. This reads freed heap memory and crashes the hosting process, producing a denial of service. A public PoC reference and a concrete reproducing query exist, but are not verified as working weaponized exploit code.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 30, 2026

A use-after-free flaw in SQLite's FTS3/FTS4 snippet() support allows an attacker who can issue full-text queries against an FTS3/FTS4 virtual table to force the process to read freed heap memory and crash, yielding local denial of service rather than code execution or data disclosure of integrity value. All SQLite releases before 3.54.0 are affected, but only builds compiled with FTS3/FTS4 enabled together with the non-default option SQLITE_ENABLE_FTS3_PARENTHESIS carry the vulnerable configuration; the assessed vector (CVSS:3.1 AV:L/AC:L/PR:L/UI:N/S:N/C:N/I:N/A:H) requires local access and the ability to run or influence SQL reaching such a table. The vendor shipped a fix in SQLite 3.54.0 (commit e4635c4153), the issue is scored 6.8 Medium under CVSS 4.0, and it is not reported as actively exploited (not in CISA KEV); no working exploit code is confirmed in the available sources, and priority is moderate (this_month).

RemediationAI

Vendor-released patch: SQLite 3.54.0. Upgrade the bundled or linked SQLite library to 3.54.0 or later; the fix landed as Fossil check-in e4635c4153 (https://sqlite.org/src/info/e4635c4153) and GitHub commit a87bd2471a9c0606e78d3c3678bcd9cecaa0e731, and the release notes are at https://sqlite.org/releaselog/3_54_0.html. Teams that cannot immediately move to 3.54.0 can remove the vulnerable configuration at build time, since the flaw requires both the FTS3/FTS4 extension and the non-default SQLITE_ENABLE_FTS3_PARENTHESIS option: rebuilding without SQLITE_ENABLE_FTS3_PARENTHESIS, or dropping FTS3/FTS4 from the build entirely, eliminates the affected code path. The trade-off is functional - omitting the parenthesis option removes parenthesised sub-expression support from FTS MATCH queries, and dropping FTS3/FTS4 breaks any schema or query that depends on those virtual table modules, so both should be validated against the application's search features before rollout. No exploitation in the wild is reported (not in CISA KEV), so the fix can be scheduled as routine maintenance rather than an emergency change.

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

FTS3 and FTS4 are SQLite's older full-text search extensions, implemented in ext/fts3/; the vulnerable routine is fts3BestSnippet() in ext/fts3/fts3_snippet.c (referenced at line 561 of version-3.53.4), which walks the parsed MATCH expression with sqlite3Fts3ExprIterate() and the fts3SnippetFindPositions() callback to collect term position lists before generating the highlighted snippet. The defect is CWE-416 (use-after-free): position-list pointers cached during the first expression walk can be invalidated when the expression evaluation is restarted, leaving dangling pointers that subsequent dereferences read as freed heap memory. The upstream fix (commit a87bd2471a9c0606e78d3c3678bcd9cecaa0e731, Fossil e4635c4153) caches pCsr->pExpr in a local and iterates the expression a second time after the initial pass, explicitly to avoid pointers gathered in the first iteration being invalidated by the restart. The trigger requires the SQLITE_ENABLE_FTS3_PARENTHESIS compile-time option, which enables parenthesised sub-expression syntax, and a MATCH query that combines OR with NEAR operators and a snippet() call; the regression test added upstream uses CREATE VIRTUAL TABLE ft0 USING fts4 with the query SELECT snippet(ft0,'') FROM ft0 WHERE ft0 MATCH '"a" OR "" bbb NEAR 0 NEAR 1'. Impact at the SQLite layer is a crash (availability only); the assessed vector records no confidentiality or integrity impact.

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:N/VI:N/VA:H/SC:N/SI:N/SA:N
CIRCL (temporal) 5.5 MEDIUM
vuln.today AI 5.5 MEDIUM

Needs local ability to run crafted FTS3 queries (AV:L, PR:L); deterministic trigger (AC:L); impact is a process crash only (A:H), with confidentiality excluded per vendor despite 'read freed heap' wording.

3.1 AV:L/AC:L/PR:L/UI:N/S:N/C:N/I:N/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/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
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

SQLite before 3.54.0 built with FTS3/FTS4 and SQLITE_ENABLE_FTS3_PARENTHESIS contains a use-after-free vulnerability in fts3BestSnippet() caused by dangling cached position-list pointers. Attackers can run a full-text MATCH query combining OR and NEAR operators with snippet() to read freed heap memory and crash the process.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Ubiquitous
SQLite is embedded across OSes, browsers and apps; vulnerable FTS3 build option is non-default
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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.1%
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· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
High

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

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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