| Titolo | NASA Trick 19.6.0 Buffer Overflow |
|---|
| Descrizione | 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 |
|---|
| Fonte | ⚠️ https://github.com/nasa/Trick |
|---|
| Utente | juntheworld (UID 99760) |
|---|
| Sottomissione | 13/07/2026 16:06 (2 mesi fa) |
|---|
| Moderazione | 29/08/2026 16:40 (2 months later) |
|---|
| Stato | Accettato |
|---|
| Voce VulDB | 397028 [NASA Trick 19.6.0 TCP Socket JSONVariableServerThread.cpp parse_request buffer overflow] |
|---|
| Punti | 19 |
|---|