Skip to main content

libspatialite EUVDEUVD-2026-103510

| CVE-2026-112048 MEDIUM
Memory Allocation with Excessive Size Value (CWE-789)
2026-10-18 VulnCheck GHSA-w35v-6xgp-6m6w
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft polygon BLOB with oversized ring count
  2. Exploit
    Deliver via malicious SpatiaLite DB or ST_GeomFromWKB input
  3. Execution
    Victim app parses geometry in ParseWkbPolygon
  4. Impact
    Uncontrolled interior-ring allocation crashes process or corrupts 32-bit heap

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory allocation limits
Exploitation Conditions

Exploitation requires the target application to parse an attacker-controlled geometry BLOB through ParseWkbPolygon - specifically by opening a malicious SpatiaLite database or by passing crafted WKB to the ST_GeomFromWKB function. The crafted polygon declares an interior-ring count that is not validated against the actual BLOB contents. Limiting factors: the CVSS vector is local (AV:L) and requires passive user interaction (UI:P), meaning a victim must load the malicious data; memory corruption beyond a crash is restricted to 32-bit builds, while 64-bit builds are expected to only experience a denial-of-service crash. Impact is confined to applications that expose SpatiaLite geometry parsing to untrusted input.

Impact

This is a moderate-priority issue, not a top-tier emergency. The CVSS 4.0 base score of 6.9 (Medium) is driven by a local attack vector (AV:L) requiring passive user interaction (UI:P) - the victim must load a malicious SpatiaLite database or feed attacker-controlled WKB into ST_GeomFromWKB. The dominant impact is availability (VA:H, process crash/DoS) with only low integrity impact (VI:L) and no confidentiality impact (VC:N), consistent with CWE-789 (memory allocation with excessive/uncontrolled size). No EPSS score was provided, there is no CISA KEV listing, and no confirmed public exploit code - the hackmd reference is a technical write-up, not verified weaponized PoC. A key nuance: the description uses the word 'attackers' and mentions input via ST_GeomFromWKB, which could suggest a remote data path, but the authoritative CVSS vector is AV:L, so exploitation depends on the application processing attacker-supplied geometry locally - verify the actual data-exposure path in your deployment. Heap corruption (and thus any memory-safety escalation beyond DoS) is explicitly limited to 32-bit builds; on 64-bit builds the realistic outcome is a crash. Net: real and worth patching, but closer to a reliability/DoS concern than a mass-exploitation RCE threat.

Exploit ScenarioDerived

An attacker crafts a polygon geometry BLOB with a declared interior-ring count far exceeding what the data actually contains, then distributes it as a malicious SpatiaLite database file or submits it as WKB to an application exposing ST_GeomFromWKB. When the victim application parses the geometry via ParseWkbPolygon, the unvalidated ring count drives an uncontrolled allocation, crashing the process or corrupting the heap on 32-bit builds. No confirmed public exploit code exists, though a technical write-up describing the flaw is published.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.1% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Oct 18, 2026

libspatialite through 5.1.0 can be driven into uncontrolled memory allocation and denial of service when it parses a crafted polygon WKB geometry whose interior-ring count is not checked against the BLOB contents. The issue is reachable through malicious SpatiaLite databases or untrusted input passed to ST_GeomFromWKB, requires user interaction to load the crafted data, and can crash the process; on 32-bit builds the resulting heap corruption may be more severe. No CISA KEV entry or public exploit code was identified in the supplied intelligence, and the assessed impact is local denial of service with limited integrity impact.

RemediationAI

No vendor-released patch was identified at time of analysis. Until a fixed release is confirmed, avoid opening untrusted SpatiaLite databases and do not pass attacker-controlled WKB to ST_GeomFromWKB; if that function is not required, disable or remove it from exposed SQL interfaces. Validate and bound geometry input before SpatiaLite parsing, enforce memory and CPU limits with process isolation for SQLite workloads that must handle untrusted spatial data, and prefer 64-bit builds to reduce heap-corruption risk, though this does not eliminate the denial-of-service crash. Monitor the VulnCheck advisory at https://www.vulncheck.com/advisories/libspatialite-through-5.1.0-uncontrolled-memory-allocation-via-parsewkbpolygon-ring-count and the upstream source at https://www.gaia-gis.it/fossil/libspatialite/file?name=src/gaiageo/gg_wkb.c&ci=5a5528e8d2 for a patched version or commit.

Affected VersionsENISA

libspatialite 0 ≤5.1.0

Affected Packages

euvd libspatialite no fix

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

The flaw is in libspatialite's WKB parser, specifically ParseWkbPolygon in src/gaiageo/gg_wkb.c. SpatiaLite is a spatial extension to SQLite; it handles geometry BLOBs conforming to WKB and exposes functions such as ST_GeomFromWKB. WKB polygon encoding carries ring counts and point counts; CWE-789 uncontrolled memory allocation occurs because the code allocates interior-ring structures based on a declared count before verifying that the BLOB actually contains that many rings. A crafted BLOB can therefore force excessive allocation and, depending on pointer size, memory exhaustion/crash on 64-bit or heap corruption on 32-bit. The assessed CVSS 3.1 vector is AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H, consistent with a local attack that requires a victim to load crafted geometry and primarily causes availability loss.

Know when Libspatialite 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.9 MEDIUM
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
vuln.today AI 6.1 MEDIUM

Attacker-supplied data must be loaded locally by the victim (AV:L, UI:R); no auth needed to supply the BLOB (PR:N); impact is a crash (A:H) with minor heap integrity effect (I:L) and no data disclosure (C:N).

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

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
Low
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

libspatialite through 5.1.0 fails to validate the polygon ring count in ParseWkbPolygon, allowing attackers to trigger uncontrolled interior-ring allocation via crafted geometry BLOBs. Attackers can supply a crafted polygon in a SpatiaLite database or ST_GeomFromWKB input to crash the process or corrupt heap memory on 32-bit builds.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
GIS spatial-SQL library bundled in geospatial tools, common but not universal
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 No
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
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact· derived
Medium

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

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

Vendor StatusVendor

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