Skip to main content

libspatialite EUVDEUVD-2026-103514

| CVE-2026-112052 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-10-18 VulnCheck GHSA-8jmj-j7pf-v8j3
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted SpatiaLite/WKB geometry file
  2. Exploit
    Victim application parses geometry BLOB
  3. Execution
    Inflated count overflows size guard in ParseWkbLine
  4. Impact
    Out-of-bounds read crashes process or corrupts heap

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK

1 technique across 1 tactic: Execution

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 victim to open or parse an attacker-supplied geometry BLOB - for example a crafted SpatiaLite database file - using an application that links libspatialite 5.1.0 or earlier; the malicious BLOB must declare a large WKB point/vertex count that overflows the size guard in ParseWkbLine and related parsers in gg_wkb.c. Key limiting factors: it is a local, file-driven vector (no network reachability), it requires user interaction or an automated pipeline that ingests untrusted spatial files, and memory corruption (as opposed to a mere crash) is called out as occurring on 32-bit builds - 64-bit builds are expected to see denial of service rather than exploitable heap corruption.

Impact

This is a moderate, not top-priority, issue for most defenders. The vendor-assigned CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:H, score 6.9) describes a local, file-driven flaw: an attacker cannot reach it over a network and must get a victim to process a crafted geometry BLOB or SpatiaLite database file (UI:P passive interaction). The dominant impact is availability (process crash / DoS) with a secondary low integrity impact from heap corruption, and notably no confidentiality impact despite the bug being an out-of-bounds READ - the vendor evidently judged that read primitive as crash/corruption rather than data exfiltration, which is worth verifying since OOB reads can sometimes leak adjacent heap memory. The description explicitly scopes memory corruption to 32-bit builds, so on modern 64-bit deployments the realistic outcome is a crash/DoS rather than exploitable corruption. No EPSS score, no CISA KEV listing, and no confirmed public exploit code were provided, so there is no evidence of active or widespread exploitation; a detailed third-party technical write-up (hackmd) and a VulnCheck advisory exist, which raises the chance of weaponization over time but is not itself an exploit. Net: a legitimate bug to patch on the normal cycle, elevated only for software that auto-ingests untrusted SpatiaLite/geometry files, especially 32-bit builds.

Exploit ScenarioDerived

An attacker crafts a SpatiaLite database or WKB geometry BLOB declaring an inflated point/vertex count, then delivers it to a victim (e.g., a GIS analyst or an automated import pipeline) who opens or processes it with an application linking libspatialite ≤5.1.0. The integer overflow in the count size guard in gg_wkb.c defeats the bounds check, causing an out-of-bounds read that crashes the process, or on a 32-bit build corrupts the heap. No public exploit code was identified at time of analysis, though a detailed technical write-up exists.

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

An integer overflow in libspatialite's WKB geometry parser - the point/vertex count size guard in ParseWkbLine and related routines in gg_wkb.c - lets a crafted geometry BLOB with an oversized declared point count slip past the bounds check, resulting in out-of-bounds reads. Any application that links libspatialite 5.1.0 or earlier and opens untrusted spatial data, most commonly a SpatiaLite database file, is affected: triggering the flaw crashes the process, and on 32-bit builds the same overflow can corrupt heap memory. The vector is local and file-driven (CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H), so exploitation requires the victim or an automated ingest pipeline to parse an attacker-supplied file; no public exploit code and no confirmed active exploitation were identified at time of analysis.

RemediationAI

No vendor-released patch version is confirmed in the available data at time of analysis; the provided upstream Fossil source reference for src/gaiageo/gg_wkb.c is the place to track a fix, so upgrade libspatialite to the first release published after 5.1.0 as soon as it is tagged (rather than pinning to 5.1.0) and rebuild or relink every dependent application, since the vulnerable code is compiled into consumers. Until such a release is confirmed, apply compensating controls matched to the file-driven vector: reject or quarantine untrusted SpatiaLite/WKB input before it reaches the parser (schema/format validation or an allow-listed import path), and cap the declared point/vertex count where the application controls the conversion layer - trade-off is that legitimate large geometries may be refused. Where the host application can be rebuilt, prefer 64-bit targets, which reduces the overflow to a crash instead of heap corruption; this does not eliminate the denial-of-service risk. Run import/ETL jobs that must process third-party spatial files in a sandboxed, low-privilege process with memory limits and automatic restart so a triggered crash cannot take down the primary service and heap corruption is contained - trade-off is added operational overhead and slower ingestion. Monitor the VulnCheck advisory (https://www.vulncheck.com/advisories/libspatialite-through-5.1.0-integer-overflow-in-wkb-geometry-parsing) and upstream repository for the fixed revision; there is no configurable option in libspatialite itself that disables the affected WKB parsing path.

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

libspatialite (CPE cpe:2.3:a:spatialite:libspatialite, wildcarded across all versions up to and including 5.1.0) is the SQLite extension that supplies spatial types and functions to SpatiaLite databases, and it converts between the SpatiaLite internal BLOB format and OGC Well-Known Binary via the GaiaGeo parser in src/gaiageo/gg_wkb.c. The root cause is CWE-190 (Integer Overflow or Wraparound): before allocating or iterating over point/vertex arrays, ParseWkbLine and its sibling parsers validate the declared element count against a computed byte size, but the size arithmetic itself can overflow on 32-bit builds - a crafted WKB/SpataLite BLOB with a very large point count wraps the computed length so that the guard passes while the later read loop walks past the end of the buffer. The consequence is an out-of-bounds read, observed as a crash (denial of service) in typical cases and as heap memory corruption specifically on 32-bit targets where size_t is 32 bits; 64-bit builds generally fail the arithmetic at a much higher count and degrade to DoS rather than exploitable corruption. Because the parser is library code, exposure depends entirely on the host application: any consumer that ingests third-party .sqlite/SpatiaLite files or raw WKB blobs - GIS desktop tools, ETL and data-import services, or automated spatial-data pipelines - inherits the flaw. The public write-up and the upstream Fossil source reference for gg_wkb.c accompany the VulnCheck advisory.

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

Local file parsing needs a victim to open a crafted BLOB (AV:L, UI:R, PR:N); crash dominates (A:H) with heap corruption giving I:L, and the OOB read is treated as non-disclosing (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 contains an integer overflow vulnerability in the WKB point and vertex count size guard of ParseWkbLine and related parsers in gg_wkb.c, allowing out-of-bounds reads. Attackers can supply a crafted geometry BLOB with a large point count, for example in a SpatiaLite database file, to crash the process or corrupt heap memory on 32-bit builds.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
Medium
widely used GIS geometry library (QGIS, GDAL/OGR), 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

Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.

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