
PoC
CryptoLib proporciona una solución solo de software que utiliza el CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) para asegurar las comunicaciones entre una nave espacial que ejecuta el core Flight System (cFS) y una estación terrestre. En las versiones 1.3.3 y anteriores, se produce una vulnerabilidad de desbordamiento de montón en la función Crypto_TM_ProcessSecurity (crypto_tm.c:1735:8). Al procesar la Longitud de la Cabecera Secundaria de un paquete de protocolo TM, si la Longitud de la Cabecera Secundaria supera la longitud total del paquete, se desencadena un desbordamiento de montón durante la operación memcpy que copia los datos del paquete al búfer asignado dinámicamente p_new_dec_frame. Esto permite a un atacante sobrescribir memoria de montón adyacente, pudiendo conducir a la ejecución de código arbitrario o a la inestabilidad del sistema.
Impacto: Un paquete manipulado puede provocar corrupción de la memoria de montón durante las operaciones memcpy en el búfer p_new_dec_frame, lo que potencialmente puede conducir a:
Versión parcheada: 810fd66d592c883125272fef123c3240db2f170f
poc.py - Script de Python de doble modo:
./poc.py generate [overflow_amount]
Parámetros:
overflow_amount: bytes de desbordamiento (por defecto: 1024)Ejemplo:
# Generate packet with 2048-byte overflow
./poc.py generate 2048 > evil_packet.hex
./poc.py check <hex_packet>
Parámetros:
<hex_packet>: cadena hexadecimal del paquete TMEjemplo:
# Analyze generated packet
./poc.py check $(cat evil_packet.hex)
[6-byte Primary Header][2-byte Secondary Header Length][Payload]
El script crea paquetes donde:
Secondary Header Length > (Total Packet Length - Header Offset)memcpy intenta copiar más bytes de los disponiblesavailable_space = total_length - (offset + length_field_size)
if claimed_length > available_space:
trigger_alert()
Este software está destinado a:
NO lo utilice en sistemas de producción ni sin autorización explícita. Los mantenedores no asumen ninguna responsabilidad por el mal uso de esta herramienta.