FKIE_CVE-2026-47731

Vulnerability from fkie_nvd - Published: 2026-07-21 22:17 - Updated: 2026-10-24 19:10
Summary
The AMMOS Instrument Toolkit (Formerly the Bespoke Links to Instruments for Surface and Space (BLISS)) is a Python-based software suite developed to handle Ground Data System (GDS), Electronic Ground Support Equipment (EGSE), commanding, telemetry uplink/downlink, and sequencing for instrument and CubeSat Missions. In versions prior to 2.6.1 and in version 3.1.0, the Binary Stream Capture (BSC) component exposes an unauthenticated HTTP API for dynamically creating packet capture "handlers." Because the code blindly trusts path‑related form fields, a remote client can bypass the configured log root and direct BSC to log to arbitrary filesystem paths (path traversal / directory escape), and append attacker‑controlled data to those files, using the privileges of the`ait-bsc` process. There are two ways for a remote attacker to trigger this. First, if the attacker has access to the network where `ait-bsc` is deployed (a reason for that could be that the ports are publicly accessible), the payloads can be directly sent to the server to trigger the arbitrary file append. This type of attack is demonstrated in `python_poc.py`. Second, even if the attacker does not have direct access to the network because the software is running in a local network, it is possible to exploit this if a bad actor in that network opens an attacker-controlled website (which might be a website created by an attacker, or a third-party website compromised by the attacker). The browser javascript can automatically send the requests necessary to exploit this into the local network. This is even possible if the server is only accessible on `localhost`. This type of attack is demonstrated by `attacker_tcp.py` and `test1.html` (first launch the attacker TCP server, then start a webserver to host `test1.html`, for example using `python3 -m http.server 7000`, and open `test1.html`).This issue affects BSC (Binary Stream Capture) and usage of the ait-bsc server. This impacts AIT-Core versions before 3.1.1, from 2.x before 2.6.1. Users are recommended to upgrade to version 3.1.1 or 2.6.1.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "product": "AIT-Core",
          "vendor": "NASA-AMMOS",
          "versions": [
            {
              "status": "affected",
              "version": "\u003c 2.6.1"
            },
            {
              "status": "affected",
              "version": "= 3.1.0"
            }
          ]
        }
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The AMMOS Instrument Toolkit (Formerly the Bespoke Links to Instruments for Surface and Space (BLISS)) is a Python-based software suite developed to handle Ground Data System (GDS), Electronic Ground Support Equipment (EGSE), commanding, telemetry uplink/downlink, and sequencing for instrument and CubeSat Missions. In versions prior to 2.6.1 and in version 3.1.0, the Binary Stream Capture (BSC) component exposes an unauthenticated HTTP API for dynamically creating packet capture \"handlers.\" Because the code blindly trusts path\u2011related form fields, a remote client can bypass the configured log root and direct BSC to log to arbitrary filesystem paths (path traversal / directory escape), and append attacker\u2011controlled data to those files, using the privileges of the`ait-bsc` process. There are two ways for a remote attacker to trigger this. First, if the attacker has access to the network where `ait-bsc` is deployed (a reason for that could be that the ports are publicly accessible), the payloads can be directly sent to the server to trigger the arbitrary file append. This type of attack is demonstrated in `python_poc.py`. Second, even if the attacker does not have direct access to the network because the software is running in a local network, it is possible to exploit this if a bad actor in that network opens an attacker-controlled website (which might be a website created by an attacker, or a third-party website compromised by the attacker). The browser javascript can automatically send the requests necessary to exploit this into the local network. This is even possible if the server is only accessible on `localhost`. This type of attack is demonstrated by `attacker_tcp.py` and `test1.html` (first launch the attacker TCP server, then start a webserver to host `test1.html`, for example using `python3 -m http.server 7000`, and open `test1.html`).This issue affects BSC (Binary Stream Capture) and usage of the ait-bsc server. This impacts AIT-Core versions before 3.1.1, from 2.x before 2.6.1. Users are recommended to upgrade to version 3.1.1 or 2.6.1."
    },
    {
      "lang": "es",
      "value": "El kit de herramientas de instrumentos AMMOS (anteriormente Bespoke Links to Instruments for Surface and Space (BLISS)) es un paquete de software basado en Python desarrollado para manejar el Sistema de Datos Terrestres (GDS), el Equipo Electr\u00f3nico de Apoyo en Tierra (EGSE), el comando, el enlace ascendente/descendente de telemetr\u00eda y la secuenciaci\u00f3n para misiones de instrumentos y CubeSat. En versiones anteriores a la 2.6.1 y en la versi\u00f3n 3.1.0, el componente Binary Stream Capture (BSC) expone una API HTTP no autenticada para crear din\u00e1micamente \u2019manejadores\u2019 de captura de paquetes. Debido a que el c\u00f3digo conf\u00eda ciegamente en los campos de formulario relacionados con la ruta, un cliente remoto puede eludir la ra\u00edz de registro configurada y dirigir a BSC para que registre en rutas arbitrarias del sistema de archivos (salto de ruta / escape de directorio), y a\u00f1adir datos controlados por el atacante a esos archivos, utilizando los privilegios del proceso \u201cait-bsc\u201d. Hay dos formas para que un atacante remoto active esto. Primero, si el atacante tiene acceso a la red donde \u201cait-bsc\u201d est\u00e1 desplegado (una raz\u00f3n para ello podr\u00eda ser que los puertos son accesibles p\u00fablicamente), las cargas \u00fatiles pueden ser enviadas directamente al servidor para activar la adici\u00f3n arbitraria de archivos. Este tipo de ataque se demuestra en \u201cpython_poc.py\u201d. Segundo, incluso si el atacante no tiene acceso directo a la red porque el software se est\u00e1 ejecutando en una red local, es posible explotar esto si un actor malicioso en esa red abre un sitio web controlado por el atacante (que podr\u00eda ser un sitio web creado por un atacante, o un sitio web de terceros comprometido por el atacante). El javascript del navegador puede enviar autom\u00e1ticamente las solicitudes necesarias para explotar esto en la red local. Esto es incluso posible si el servidor solo es accesible en \u201clocalhost\u201d. Este tipo de ataque se demuestra mediante \u201cattacker_tcp.py\u201d y \u201ctest1.html\u201d (primero inicie el servidor TCP del atacante, luego inicie un servidor web para alojar \u201ctest1.html\u201d, por ejemplo usando \u201cpython3 -m http.server 7000\u201d, y abra \u201ctest1.html\u201d). Este problema afecta a BSC (Binary Stream Capture) y al uso del servidor ait-bsc. Esto afecta a las versiones de AIT-Core anteriores a la 3.1.1, desde la 2.x anteriores a la 2.6.1. Se recomienda a los usuarios actualizar a la versi\u00f3n 3.1.1 o 2.6.1."
    }
  ],
  "id": "CVE-2026-47731",
  "lastModified": "2026-10-24T19:10:00.127",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "NETWORK",
          "availabilityImpact": "HIGH",
          "baseScore": 9.1,
          "baseSeverity": "CRITICAL",
          "confidentialityImpact": "NONE",
          "integrityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 5.2,
        "source": "security-advisories@github.com",
        "type": "Secondary"
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-47731",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "timestamp": "2026-07-22T14:27:51.173181Z",
          "version": "2.0.3"
        }
      }
    ]
  },
  "published": "2026-07-21T22:17:13.230",
  "references": [
    {
      "source": "security-advisories@github.com",
      "url": "https://github.com/NASA-AMMOS/AIT-Core/releases/tag/2.6.1"
    },
    {
      "source": "security-advisories@github.com",
      "url": "https://github.com/NASA-AMMOS/AIT-Core/releases/tag/3.1.1"
    },
    {
      "source": "security-advisories@github.com",
      "url": "https://github.com/NASA-AMMOS/AIT-Core/security/advisories/GHSA-p462-prxw-mjx4"
    },
    {
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "url": "https://github.com/NASA-AMMOS/AIT-Core/security/advisories/GHSA-p462-prxw-mjx4"
    }
  ],
  "sourceIdentifier": "security-advisories@github.com",
  "vulnStatus": "Deferred",
  "weaknesses": [
    {
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ],
      "source": "security-advisories@github.com",
      "type": "Secondary"
    }
  ]
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline

Sightings and recorded dates, grouped by day · UTC

JSON
Events included in the timeline

Loading timeline…


    Loading…

    Loading…

    Loading…

    Related by attack behaviour

    Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.