| 제목 | NASA Trick 19.6.0 Buffer Overflow |
|---|
| 설명 | JSONVariableServerThread::parse_request() in trick_source/sim_services/JSONVariableServer/JSONVariableServerThread.cpp line 104 uses sscanf(incoming_msg, "%s %s", command, path) where command is a 32-byte stack buffer and incoming_msg is sourced directly from recvfrom() on a TCP socket. An unauthenticated remote attacker sending a request whose first whitespace-delimited token exceeds 31 characters causes a stack-based buffer overflow (CWE-121). The developer left a comment in the source: "Need to protect against buffer overflow" but the fix was never applied. ASan confirms WRITE of size 34 overflowing command[32].
poc.py && log
https://app.notion.com/p/Stack-based-Buffer-Overflow-in-NASA-Trick-JSONVariableServer-via-Unbounded-sscanf-on-Network-Receive-39cbd773e51180e1917cd717b90b8bc8?source=copy_link |
|---|
| 원천 | ⚠️ https://github.com/nasa/Trick |
|---|
| 사용자 | juntheworld (UID 99760) |
|---|
| 제출 | 2026. 07. 13. PM 04:06 (2 개월 ago) |
|---|
| 모더레이션 | 2026. 08. 29. PM 04:40 (2 months later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 397028 [NASA Trick 19.6.0 TCP Socket JSONVariableServerThread.cpp parse_request 메모리 손상] |
|---|
| 포인트들 | 19 |
|---|