🇰🇷 한글 설명
AMMOS Instrument Toolkit의 Binary Stream Capture(BSC) 구성 요소에서 인증되지 않은 사용자가 HTTP API를 통해 임의의 파일 경로에 데이터를 추가할 수 있는 경로 탐색(Path Traversal) 취약점이 발견되었습니다. 공격자는 이를 통해 시스템의 설정된 로그 루트를 벗어나 임의의 파일에 공격자가 제어하는 데이터를 삽입할 수 있습니다. 이 취약점은 직접적인 네트워크 접근뿐만 아니라, 내부 네트워크 사용자가 악성 웹사이트에 접속할 경우 브라우저 자바스크립트를 통해 간접적으로도 공격될 수 있습니다.
💡 쉬운 설명
해커가 허가 없이 소프트웨어의 특정 기능을 조작하여 컴퓨터 내의 중요한 파일을 마음대로 수정하거나 내용을 추가할 수 있는 보안 구멍입니다. 사용자가 실수로 나쁜 사이트에 접속하기만 해도 내부 네트워크에 있는 장비가 공격당할 수 있어 위험합니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
AIT-Core 버전 3.1.1 미만 및 2.x 버전 중 2.6.1 미만
⚔️ 공격 벡터
인증되지 않은 HTTP API 요청을 통한 직접 공격 또는 악성 웹사이트를 통한 CSRF 방식의 간접 공격
🛡️ 대응 방법
AIT-Core 소프트웨어를 최신 버전인 3.1.1 또는 2.6.1 이상으로 업그레이드하십시오.
🔧 검증 코드
출력된 버전이 3.1.1 또는 2.6.1보다 낮은 경우 취약한 상태입니다.
python3 -c "import ait_core; print(ait_core.__version__)" 2>/dev/null || echo 'Package not found'