Skip to main content

OpenS100 CVE-2026-35001

| EUVDEUVD-2026-98233 HIGH
Integer Overflow or Wraparound (CWE-190)
2026-10-13 VulnCheck GHSA-636c-c9vm-prrj
7.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious S-102 HDF5 file
  2. Exploit
    Victim opens file in OpenS100
  3. Execution
    Integer overflow undersizes heap buffer
  4. Impact
    Out-of-bounds write triggers crash or code execution

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

Requires the victim to open a crafted S-102 Bathymetric Surface HDF5 file whose grid-dimension metadata (numPointsLatitudinal and numPointsLongitudinal) are set so their product overflows a 32-bit integer in S102_VG_BathymetryCoverage::Read(). No authentication is required (PR:N), but exploitation is limited by mandatory user interaction (UI:A - the file must be actively opened) and a local attack vector (AV:L - no network reach), plus higher attack complexity (AC:H). Affects OpenS100 up to commit daaa35b; the S-102 parsing path must be invoked on the malicious file.

Impact

Signals point to a real but low-priority issue rather than an urgent threat. The CVSS 4.0 base score of 7.1 (High) is driven by full VC:H/VI:H/VA:H impact (potential RCE), but the exploitability metrics heavily constrain it: AV:L means the attacker cannot reach the code over a network, AC:H reflects non-trivial conditions, and UI:A requires the victim to actively open a malicious file. Notably, the description claims 'remote attackers' while the CVSS vector is explicitly AV:L (local) - this is a genuine conflict; the realistic model is social-engineering/file-delivery (attacker-controlled file opened locally), not direct remote exploitation, so treat 'remote' as loose phrasing and defer to AV:L. EPSS is very low (0.20%, 10th percentile), there is no CISA KEV listing, and no evidence of active exploitation - so despite a public POC existing, this is exploit-code-available, not in-the-wild. The low EPSS is consistent with a niche, file-interaction-dependent bug in specialized software. Net: a legitimate memory-corruption flaw worth patching, but prioritization should sit well below network-reachable or actively-exploited CVEs.

Exploit ScenarioDerived

An attacker crafts a malicious S-102 bathymetric HDF5 file whose numPointsLatitudinal and numPointsLongitudinal grid-dimension metadata are set to large values, then delivers it to a victim (e.g., via email, download, or a shared chart dataset). When the victim opens the file in OpenS100, the unvalidated multiplication wraps a 32-bit integer, undersizing the heap allocation and causing out-of-bounds writes that crash the application or potentially execute code. A public POC/exploit is available, but exploitation is local and requires the user to open the file.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv2 – Oct 14, 2026

Opening a crafted S-102 bathymetric surface HDF5 file in OpenS100 through commit daaa35b can trigger a 32-bit integer overflow that under-allocates a heap buffer and lets attacker-controlled data be written out of bounds, resulting in an application crash or potential arbitrary code execution. The flaw lives in S102_VG_BathymetryCoverage::Read(), where the product of the numPointsLatitudinal and numPointsLongitudinal grid dimensions wraps around before the buffer size is computed. Exploitation is unauthenticated (PR:N) but constrained: no network-reachable path exists (local vector) and the victim must actively open a malicious file, and while publicly available exploit code exists, EPSS is low at roughly 0.20% (10th percentile), the issue is not in CISA KEV, and the overall signal is a real but low-priority issue rather than an urgent threat.

Earlier versions of this analysis (1)
v1 Oct 13, 2026 - 02:35 CVSS 8.4

Opening a crafted S-102 bathymetric HDF5 file in OpenS100 (all versions through commit daa35b) can crash the application or, depending on heap layout, achieve arbitrary code execution in the victim's session. The flaw is a 32-bit integer wraparound in S102_VG_BathymetryCoverage::Read(), where the product of numPointsLatitudinal and numPointsLongitudinal is not validated, causing an undersized heap allocation followed by out-of-bounds writes. Publicly available exploit code exists, and the CVSS 4.0 base score of 8.4 reflects high confidentiality, integrity, and availability impact, though exploitation is conditional: the assessed vector is local (AV:L) with mandatory user interaction (UI:R) and no attacker authentication (PR:N), meaning an attacker must convince or induce a target to open a malicious bathymetric file rather than triggering the flaw autonomously over a network.

RemediationAI

No vendor-released patch version is identified in the available data, and the affected range runs through commit daaa35b, so the first step is to confirm current upstream status against the VulnCheck advisory (https://www.vulncheck.com/advisories/opens100-s-102-parser-integer-overflow-heap-buffer-overflow), VulDB 417462 (https://vuldb.com/vuln/417462) and the NVD record (https://nvd.nist.gov/vuln/detail/CVE-2026-35001) and upgrade as soon as a fixed commit or release is published. Until then, apply compensating controls that address the actual trigger: treat every S-102 HDF5 file from an untrusted source as hostile and pass it through a validating pre-processor that opens the file, reads the grid dimension attributes and rejects datasets whose numPointsLatitudinal × numPointsLongitudinal product exceeds a sane bound or overflows 32 bits - this stops the malformed metadata before it reaches S102_VG_BathymetryCoverage::Read(), with the trade-off that legitimate very-large bathymetric grids above the chosen ceiling will also be rejected and the validator must itself use checked 64-bit arithmetic. If such validation cannot be implemented, disable or remove the S-102 parsing path and ship only S-100 products that are not affected, at the cost of losing S-102 bathymetry support entirely. Additional containment: run OpenS100 with least privilege and inside a sandbox or container with no access to sensitive data, so a successful heap overflow cannot escalate into code execution in a privileged context, and restrict the sources from which users are permitted to open S-102 files (for example, no downloads from untrusted portals or transmittal by email), noting that these measures reduce blast radius but do not remove the underlying memory-corruption bug.

Affected VersionsENISA

OpenS100 0 ≤daaa35b19b789aa4b170bdcc300763a287d73164

Affects your stack

Find out whether the stacks and servers you run are on an affected version.

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenS100 is an open-source implementation of the IHO S-100 framework and derived product specifications, and the affected code path parses S-102 Bathymetric Surface datasets, which are delivered as HDF5 containers. The root cause is CWE-190 (Integer Overflow or Wraparound): in S102_VG_BathymetryCoverage::Read(), grid dimension metadata (numPointsLatitudinal multiplied by numPointsLongitudinal) is multiplied without range validation, so a crafted pair of dimensions can overflow a 32-bit integer. The wrapped value is then used to size a heap allocation, producing an undersized buffer that is subsequently populated with data sized to the true (non-wrapped) dimensions, i.e. a heap-based out-of-bounds write. Because the size arithmetic and the write occur in the same read routine, no authentication or elevated privilege is required once a malicious file is supplied; the practical constraints come from the binary parsing model (a local file must be opened by the victim) and the careful dimension crafting needed to turn the wraparound into a usable overflow. The CPE cpe:2.3:a:opens100_project:opens100:*:*:*:*:*:*:*:* uses a wildcard version, indicating the defect is present across the project's release line rather than in a single tagged build, and the issue is tracked under EUVD-2026-98233 with a dedicated VulnCheck advisory.

Know when Opens100 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 7.1 HIGH
CVSS:4.0/AV:L/AC:H/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.8 HIGH

Exploitation requires opening a local crafted file, so AV:L and UI:R with PR:N; the overflow is trivially triggered by crafted metadata (AC:L), yielding potential code execution (C/I/A:H), no scope change.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

Lifecycle Timeline

2
CVSS changed
Oct 14, 2026 - 16:22 NVD
8.4 (HIGH) 7.1 (HIGH)
CVE Published
Oct 13, 2026 - 01:39 cve.org
HIGH 8.4

DescriptionCVE.org

OpenS100 through commit daa35b contains an integer overflow vulnerability in the S-102 Bathymetric Surface parser that allows remote attackers to cause a heap-based buffer overflow by opening a crafted S-102 HDF5 file with malicious grid dimension metadata. Attackers can exploit the unvalidated multiplication of numPointsLatitudinal and numPointsLongitudinal values in the S102_VG_BathymetryCoverage::Read() function to trigger a 32-bit integer wraparound, resulting in undersized heap buffer allocation and subsequent out-of-bounds writes that lead to application crash or arbitrary code execution.

Executive ViewAI

Why It Matters

OpenS100, a tool for viewing S-102 bathymetric data, is affected by a high-severity vulnerability (CVE-2026-35001) that can crash the application or potentially allow arbitrary code execution when a user opens a malicious file. The attack is unauthenticated but requires local user interaction, and while publicly available exploit code exists, the exploitation probability is low (EPSS ~0.2%). Leadership should ensure that users handling untrusted bathymetric files are aware of the risk and take precautionary measures, as successful exploitation could lead to system compromise or data integrity issues.

Business Impact: Low
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include restricting the opening of untrusted S-102 HDF5 files, implementing strict file content validation, running OpenS100 in a sandboxed or isolated environment, and monitoring vendor advisories for an update.

Threat Intelligence Overview

EPSS Score
0.2%
Top 90% exploitable
Prevalence
Low
niche open-source maritime/hydrographic S-100/S-102 parser, limited industry footprint
Exploit
POC
Public exploit code exists
Social Media
2
Sightings
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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Poc
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Low

Priority Score

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

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

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

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

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