Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-47731

CVE-2026-47731: AIT-Core Path Traversal Vulnerability

CVE-2026-47731 is a path traversal flaw in AMMOS Instrument Toolkit's Binary Stream Capture component that lets attackers write to arbitrary files. This article covers technical details, affected versions, and mitigation.

Updated:

CVE-2026-47731 Overview

CVE-2026-47731 is a path traversal vulnerability in the AMMOS Instrument Toolkit (AIT-Core), formerly known as Bespoke Links to Instruments for Surface and Space (BLISS). AIT-Core is a Python-based software suite handling Ground Data System (GDS), Electronic Ground Support Equipment (EGSE), commanding, telemetry uplink/downlink, and sequencing for instrument and CubeSat missions. The Binary Stream Capture (BSC) component exposes an unauthenticated HTTP API for dynamically creating packet capture handlers. Because the code trusts path-related form fields without validation, remote attackers can bypass the configured log root and write to arbitrary filesystem paths [CWE-22]. The flaw affects AIT-Core versions prior to 2.6.1 and version 3.1.0.

Critical Impact

Unauthenticated remote attackers can append attacker-controlled data to arbitrary files with the privileges of the ait-bsc process, enabling code execution paths and integrity compromise.

Affected Products

  • AIT-Core versions prior to 2.6.1 (2.x branch)
  • AIT-Core version 3.1.0
  • ait-bsc server component (Binary Stream Capture)

Discovery Timeline

  • 2026-07-21 - CVE-2026-47731 published to NVD
  • 2026-07-23 - Last updated in NVD database

Technical Details for CVE-2026-47731

Vulnerability Analysis

The BSC component exposes an HTTP API that accepts form fields describing where packet capture handlers should write log files. The server accepts these path-related fields from unauthenticated remote clients and passes them into file operations without normalization or containment checks against the configured log root. Attackers can supply crafted path segments to escape the intended directory and append data to arbitrary files writable by the ait-bsc process.

The impact extends beyond file corruption. Attackers can append content to configuration files, shell profile scripts, cron files, or Python module search paths, converting file append into code execution under the ait-bsc user. Log tampering also allows evidence destruction on hosts running mission ground systems.

Root Cause

The root cause is missing validation of user-controlled path input in the BSC handler creation endpoint. The code blindly trusts path fields submitted through the HTTP API and does not enforce that resolved paths remain within the configured log root directory, producing a classic directory traversal condition.

Attack Vector

Two exploitation paths exist. First, an attacker with network reachability to the ait-bsc server sends crafted HTTP form requests directly to the exposed API, demonstrated in the advisory's python_poc.py. Second, when the server is only reachable on localhost or a restricted internal network, an attacker can host a malicious webpage that instructs a victim's browser to issue cross-origin requests to the local ait-bsc endpoint. This browser-pivot technique is demonstrated by the advisory's attacker_tcp.py and test1.html proof-of-concept files.

For technical detail, see the GitHub Security Advisory GHSA-p462-prxw-mjx4.

Detection Methods for CVE-2026-47731

Indicators of Compromise

  • HTTP POST requests to the ait-bsc API containing ..\/ or ..\\ sequences, absolute paths, or path fields referencing directories outside the configured log root.
  • Unexpected file creations or appends by the ait-bsc process user in directories such as /etc/, /root/, user home directories, or Python site-packages.
  • New or modified BSC handler entries pointing to filesystem locations outside the intended capture directory.

Detection Strategies

  • Inspect ait-bsc HTTP access logs for handler-creation requests originating from unexpected source addresses or referrers, including browser-origin requests when the service is bound to localhost.
  • Correlate process file-write telemetry from ait-bsc against an allowlist of the configured log root path.
  • Alert on writes by the ait-bsc process to shell startup files, cron directories, SSH authorized_keys, or Python import paths.

Monitoring Recommendations

  • Enable filesystem auditing on hosts running ait-bsc and forward events to a centralized data lake for correlation with network telemetry.
  • Monitor for outbound connections from browsers on ground-system operator workstations to untrusted external sites that could stage the CSRF-style local-network attack.
  • Track version inventory of AIT-Core installations to identify unpatched deployments running < 2.6.1 or 3.1.0.

How to Mitigate CVE-2026-47731

Immediate Actions Required

  • Upgrade AIT-Core to version 3.1.1 or 2.6.1 immediately, as recommended by the vendor.
  • Restrict network access to the ait-bsc HTTP API using host firewalls and network segmentation so only authorized management hosts can reach it.
  • Run the ait-bsc process under a dedicated low-privilege account with write access limited to the intended log directory.
  • Audit the filesystem for anomalous files created or modified by the ait-bsc user since deployment.

Patch Information

The AIT-Core maintainers released fixed builds. Users on the 2.x branch should upgrade to AIT-Core Release 2.6.1. Users on the 3.x branch should upgrade to AIT-Core Release 3.1.1.

Workarounds

  • Bind ait-bsc strictly to interfaces reachable only by trusted operators and block external access at the perimeter.
  • Place a reverse proxy in front of ait-bsc that enforces authentication and rejects requests containing traversal sequences or absolute paths in form fields.
  • Disable or shut down the ait-bsc service on hosts where it is not actively required until patching is complete.
bash
# Configuration example: upgrade AIT-Core to a patched release
pip install --upgrade "ait-core==3.1.1"
# or, for the 2.x branch
pip install --upgrade "ait-core==2.6.1"

# Verify installed version
python -c "import ait.core; print(ait.core.__version__)"

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.