CVE-2025-70083

7.8 HIGH

📋 TL;DR

A stack buffer overflow vulnerability in OpenSatKit 2.2.1 allows remote attackers to execute arbitrary code by sending specially crafted telecommands with overly long DirName fields. This affects systems running OpenSatKit 2.2.1 that process untrusted ground segment inputs. The vulnerability occurs because strcpy copies untrusted input before length validation.

💻 Affected Systems

Products:
  • OpenSatKit
Versions: 2.2.1
Operating Systems: Any OS running OpenSatKit
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when processing telecommands with DirName field from untrusted sources.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution leading to complete system compromise, potential satellite control takeover, or denial of service.

🟠

Likely Case

Application crash or denial of service due to buffer overflow corruption.

🟢

If Mitigated

Limited impact if input validation and boundary checks are implemented before copying.

🌐 Internet-Facing: MEDIUM - Requires ground segment access but could be exploited remotely if telecommands are exposed.
🏢 Internal Only: HIGH - Ground segment systems processing untrusted commands are directly vulnerable.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires ability to send telecommands to vulnerable system. No public exploit available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check latest release after v2.2.1

Vendor Advisory: https://github.com/OpenSatKit/OpenSatKit

Restart Required: No

Instructions:

1. Update to latest OpenSatKit version. 2. Replace strcpy with strncpy or similar bounded copy. 3. Validate DirName length before copying.

🔧 Temporary Workarounds

Input validation wrapper

all

Add pre-copy validation for DirName length

Implement function to check strlen(DirName) < OS_MAX_PATH_LEN before strcpy

🧯 If You Can't Patch

  • Implement network segmentation to restrict telecommand sources
  • Deploy runtime protection like stack canaries or ASLR

🔍 How to Verify

Check if Vulnerable:

Check if running OpenSatKit 2.2.1 and review dir.c for strcpy(DirWithSep, DirName) without prior length check.

Check Version:

Check OpenSatKit version in configuration or build metadata

Verify Fix Applied:

Confirm strcpy replaced with bounded copy function and length validation occurs before copying.

📡 Detection & Monitoring

Log Indicators:

  • Application crashes
  • Stack corruption errors
  • Unexpected process termination

Network Indicators:

  • Unusually long DirName fields in telecommand traffic

SIEM Query:

Search for process crashes related to filemgr or DirName processing

🔗 References

📤 Share & Export