Skip to main content

RTKLIB CVE-2026-56788

| EUVDEUVD-2026-39530 MEDIUM
Out-of-bounds Read (CWE-125)
2026-06-25 VulnCheck GHSA-m65p-fp8q-q43h
4.8
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Craft RINEX file with unknown observation codes
  2. Delivery
    Deliver file to target system or upload to processing pipeline
  3. Exploit
    User or automation triggers RTKLIB processing
  4. Execution
    getcodepri encounters unrecognized code
  5. Persist
    Negative array index into codepris table
  6. Impact
    Out-of-bounds read causes crash (DoS) or leaks adjacent global memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK

1 technique across 1 tactic: Collection

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

Exploitation Conditions

Exploitation requires that a user or automated process actively open or pass a crafted RINEX file to an RTKLIB-linked application - confirmed by UI:P in the CVSS 4.0 vector, meaning passive user interaction (e.g., opening a file or triggering a processing pipeline) is mandatory. The attack vector is local (AV:L), meaning the malicious file must be present on the local filesystem or accessible to the RTKLIB process; remote network exploitation is not indicated. No authentication or privileges are required (PR:N) once file access is established. The specific triggering condition is the presence of unrecognized RINEX observation codes in the input file - standard, well-formed RINEX files with known observation types do not trigger the flaw. Limiting factors: the local file processing requirement eliminates unauthenticated remote attack paths; a user or pipeline must explicitly process the crafted file; and exploitation is constrained to the RTKLIB process memory space with no subsequent-system scope change. Automated RINEX ingestion pipelines consuming externally sourced or user-uploaded data files represent the highest-risk deployment scenario.

Impact

The CVSS 4.0 base score of 4.8 reflects a moderate-severity local vulnerability with user interaction required (AV:L/UI:P). The attack surface is constrained: exploitation requires a user or automated process to open or pass a crafted RINEX file to RTKLIB. Confidentiality impact is low (VC:L), limited to potential disclosure of adjacent global memory; integrity is unaffected (VI:N); availability impact is low (VA:L), manifesting as a reliable crash. No subsequent-system impact is indicated (SC:N/SI:N/SA:N). A publicly available PoC (GitHub issue #797) lowers the exploitation barrier, but the local/user-interaction constraint significantly narrows the real-world attack surface compared to network-exploitable flaws. EPSS data was not provided, preventing a probability-of-exploitation comparison. The CVE is not in the CISA KEV catalog, suggesting no confirmed in-the-wild exploitation at time of analysis. The primary realistic risk is in automated RINEX ingestion pipelines processing externally sourced data files - interactive user workflows are lower risk due to the UI:P constraint.

Exploit ScenarioDerived

An attacker crafts a RINEX observation file containing deliberately unrecognized observation type codes and delivers it to a target environment where RTKLIB processes external RINEX data - such as an RTK positioning service ingesting uploaded survey files or an automated geodetic pipeline. When the file is processed, getcodepri computes a negative array index into codepris, triggering an out-of-bounds read that crashes the application and may disclose adjacent global memory contents to the attacker. A public proof-of-concept is available at the upstream GitHub issue tracker, reducing the skill required to reproduce the crash.

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 – Jun 25, 2026

Out-of-bounds read in RTKLIB through 2.4.3 exposes users to denial of service and potential memory disclosure when processing maliciously crafted RINEX observation files. The getcodepri function fails to validate unrecognized observation codes, performing negative array indexing into the codepris table - producing reliable crashes and leaking adjacent global data segments. A publicly available proof-of-concept exists via the upstream GitHub issue tracker; this CVE is not listed in the CISA KEV catalog, and no EPSS data was provided in available intelligence.

RemediationAI

No vendor-released patch has been identified at time of analysis - the upstream fix reference points to a GitHub issue (#797) rather than a tagged release, so a released patched version is not independently confirmed. Users should monitor the RTKLIB repository at https://github.com/tomojitakasu/RTKLIB for a new tagged release beyond 2.4.3 that addresses this issue. As immediate compensating controls: disable or restrict RTKLIB-based tools from ingesting RINEX files sourced from untrusted or external parties - this is the most effective near-term mitigation, with the trade-off of disrupting automated external data feeds. Implement upstream input validation to reject RINEX files containing non-standard observation codes before they reach the getcodepri parser. Sandbox RTKLIB processes using OS-level isolation (containers, seccomp profiles, AppArmor policies) to limit blast radius of a crash or memory read - this does not prevent exploitation but reduces impact. Monitoring process crashes on RTKLIB deployments can serve as an exploitation indicator.

Affected VersionsENISA

RTKLIB 0 ≤2.4.3

Affected Packages

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

RTKLIB is an open-source GNSS (GPS/GNSS) signal processing library developed by Tomoji Takasu, widely used in RTK positioning, geodetic survey pipelines, and navigation research. RINEX (Receiver Independent Exchange Format) is the de facto standard for exchanging raw satellite observation data, and RTKLIB's getcodepri function is responsible for mapping RINEX observation code strings to internal priority indices in the codepris lookup table. When an unrecognized observation type is encountered, the function computes a negative index rather than returning a safe default, triggering a CWE-125 (Out-of-Bounds Read) condition. The CPE cpe:2.3:a:tomojitakasu:rtklib:*:*:*:*:*:*:*:* covers all versions through 2.4.3 without exception. The root cause is absent input validation on the observation code lookup path - a classic array indexing flaw in a C-based parser.

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

Local file processing with mandatory user interaction, no privileges required, low confidentiality from adjacent memory read, low availability from reliable crash, no integrity impact.

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

DescriptionCVE.org

RTKLIB through 2.4.3 contains an out-of-bounds read vulnerability in getcodepri function when processing unrecognized RINEX observation codes, allowing attackers to trigger denial of service. Crafted RINEX files with unknown observation types cause negative array indexing into the codepris table, resulting in reliable crashes and potential memory disclosure of adjacent global data.

Threat Intelligence Overview

EPSS Score
0.1%
Top 99% exploitable
Prevalence
Low
niche open-source GNSS/RTK positioning library, research and survey use
Exploit
POC
Public exploit code exists
Data Quality
7 sources
Confidence: High

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 Yes
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
Scheduled
Exploitation
Poc
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
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.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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