Skip to main content

LASzip EUVDEUVD-2026-101231

| CVE-2026-110603 MEDIUM
Access of Uninitialized Pointer (CWE-824)
2026-10-14 VulnCheck GHSA-m6xh-mjq9-hv5w
5.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Deliver crafted LAS/LAZ file with inflated VLR count
  2. Exploit
    Victim application opens file via laszip_read_header
  3. Execution
    Reader destroyed through C API frees uninitialized heap pointer
  4. Impact
    Process crash and heap corruption

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Uninitialized pointer prevention
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 an application or pipeline that uses the LASzip C API (laszip_read_header() followed by reader destruction) to open an attacker-controlled LAS/LAZ file whose header declares an inflated VLR count with truncated variable-length-record data. The attack is local (AV:L) and requires user interaction (UI:P) - a victim or automated service must actually process the malicious file; there is no network-reachable or auto-triggered path. No authentication is needed (PR:N). Limiting factors: the target must ingest untrusted/attacker-supplied point-cloud files, exploitation yields a crash and heap corruption rather than confirmed code execution, and the attack requirement (AT:P) means the specific truncated-VLR condition must be met.

Impact

The source-provided CVSS 4.0 base score of 5.8 (Medium) is consistent with the description: this is a local, file-parsing flaw (AV:L) that requires the victim to open an attacker-supplied file (UI:P) and carries an attack requirement (AT:P) tied to crafting a truncated VLR with an inflated count. It is unauthenticated (PR:N) but NOT remotely reachable over a network. No EPSS score was provided, the CVE is not listed in CISA KEV, and no public exploit code is confirmed (only a technical write-up on hackmd and the VulnCheck advisory exist). Impact is confidentiality-neutral (VC:N) - this is a denial-of-service / heap-corruption issue (VI/VA), not a data-disclosure bug. Realistically this is a moderate-priority issue rather than an urgent emergency: it is weaponized only against workflows that parse untrusted LAS/LAZ files, and there is no evidence of active exploitation or widespread automated attack. The signals are internally consistent - nothing contradicts the Medium rating. The one point warranting caution: heap corruption (CWE-824, freeing an uninitialized pointer) can in principle escalate beyond a crash toward memory-safety exploitation, but the description only documents a crash plus heap corruption, so treat any code-execution potential as unverified rather than confirmed.

Exploit ScenarioDerived

An attacker crafts a malicious LAZ/LAS file with an inflated variable-length-record (VLR) count but truncated VLR data, then distributes it (e.g., as a shared LiDAR dataset, email attachment, or upload to an automated geospatial processing service). When an application built on the LASzip C API opens the file with laszip_read_header() and later destroys the reader, it frees an uninitialized heap pointer, crashing the process and corrupting the heap. A public technical write-up describing the flaw exists, but no weaponized exploit code is confirmed.

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 14, 2026

Crafted LAS/LAZ point-cloud files parsed by LASzip through 3.5.0 can trigger an invalid free inside laszip_read_header(), crashing the host application and corrupting its heap. A file whose header declares an inflated variable-length-record (VLR) count while supplying truncated VLR data leaves internal attribute pointers uninitialized, so they are freed when the reader is destroyed through the C API (CWE-824, access of uninitialized pointer). The issue is Medium severity (source-provided CVSS 4.0 base 5.8; independently assessed as CVSS 3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:H), meaning a victim or automated pipeline must open an attacker-supplied file - there is no network-reachable or auto-triggered path - and impact observed is crash plus heap corruption rather than confirmed code execution; no public exploit identified at time of analysis, although a public technical writeup of the bug exists.

RemediationAI

Primary fix: apply the upstream LASzip commit c9bfd3e68d65c84d513a2286ae06cbbe17afda02 (or any later release containing it) and rebuild the library and every application that statically links it, since the commit addresses the uninitialized attribute pointers and frees in LASattributer plus the interval/index bounds checks that are the root cause - upstream fix available (PR/commit); released patched version not independently confirmed, so confirm that the build's embedded LASlib version includes this change rather than assuming a version bump alone is sufficient. Where patching must be deferred, apply targeted compensating controls rather than generic hardening: pre-screen incoming LAS/LAZ files and reject any whose header-declared VLR count or VLR byte length exceeds the actual remaining file size or a sane site-specific ceiling (this blocks the truncated-VLR condition at the cost of dropping legitimately unusual but valid files), and run all file parsing in a sandboxed, low-privilege, resource-limited process (container, seccomp, or worker with restricted heap) so a crash corrupts only that process - accepting reduced throughput and requiring crash-safe queueing. Because the trigger is processing untrusted files, treat any crash of a LASzip-based parser as a security event and do not restart the same process in a way that reuses the corrupted heap; compile with AddressSanitizer or an equivalent allocator in test environments to detect the invalid free before deployment. Advisory references: https://www.vulncheck.com/advisories/laszip-through-3.5.0-invalid-free-via-truncated-vlr-header-in-laszip-read-header and the root-cause writeup at https://hackmd.io/@haind-pwn/laszip-vlr-uninitialized-free.

Affected VersionsENISA

LASzip 0 ≤3.5.0

Affected Packages

euvd laszip 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

LASzip is an open-source LAS/LAZ compression library (CPE cpe:2.3:a:rapidlasso:laszip:*:*:*:*:*:*:*:*, vendor Rapidlasso), commonly embedded via its C API in geospatial and point-cloud processing pipelines. The LAS/LAZ file format stores metadata in Variable Length Records (VLRs) whose count and sizes are declared in the file header before the record bodies; laszip_read_header() walks that structure and builds the attribute/interval bookkeeping used later by the reader. The root cause class is CWE-824 (access of uninitialized pointer): when the header advertises an inflated VLR count but the corresponding record data is truncated, the parsing path in laszip_dll.cpp (notably the code around lines 497-511 and 3967-3995) never initializes or allocates the internal attribute arrays, yet those pointers are later handed to free() during reader destruction, producing an invalid free and heap corruption. The upstream fix commit c9bfd3e68d65c84d513a2286ae06cbbe17afda02 hardens this area of LASlib: it zeroes attribute/attribute_starts/attribute_sizes and guards frees in LASattributer, adds negative-index bounds checks (index >= 0 && index < number_attributes), validates interval ordering (rejecting end < start), rejects duplicate cell indices in LASinterval, tracks a last_index_valid flag, and fixes resource leaks/bounds in LASindex - a pattern consistent with malformed-input handling rather than a logic bug reachable in normal use.

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

Local crafted-file parsing needs the victim to open the file (AV:L, UI:R) with no auth (PR:N); primary impact is a process crash (A:H) with limited, unreliable heap-corruption integrity impact (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:P/PR:N/UI:P/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

LASzip through 3.5.0 contains an invalid free vulnerability in laszip_read_header() that allows attackers to free uninitialized heap pointers via truncated variable length record data. Attackers can supply a crafted LAS/LAZ file with an inflated VLR count that, when opened and destroyed through the C API, crashes the process and corrupts the heap.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche LiDAR/geospatial point-cloud compression library, industry-specific use
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.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
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

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.

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