
PoC
CryptoLib fornisce una soluzione solo software che utilizza il protocollo CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) per proteggere le comunicazioni tra un veicolo spaziale che esegue il core Flight System (cFS) e una stazione di terra. Nelle versioni 1.3.3 e precedenti, una vulnerabilità di Heap Overflow si verifica nella funzione Crypto_TM_ProcessSecurity (crypto_tm.c:1735:8). Durante l'elaborazione della lunghezza dell'header secondario di un pacchetto TM, se la lunghezza dell'header secondario supera la lunghezza totale del pacchetto, viene innescato un heap overflow durante l'operazione memcpy che copia i dati del pacchetto nel buffer allocato dinamicamente p_new_dec_frame. Ciò consente a un attaccante di sovrascrivere la memoria heap adiacente, portando potenzialmente all'esecuzione di codice arbitrario o all'instabilità del sistema.
Impatto: Un pacchetto appositamente predisposto può innescare la corruzione della memoria heap durante le operazioni memcpy nel buffer p_new_dec_frame, portando potenzialmente a:
Versione corretta: 810fd66d592c883125272fef123c3240db2f170f
poc.py - Script Python a doppia modalità:
./poc.py generate [overflow_amount]
Parametri:
overflow_amount: byte di overflow (predefinito: 1024)Esempio:
# Genera un pacchetto con overflow di 2048 byte
./poc.py generate 2048 > evil_packet.hex
./poc.py check <hex_packet>
Parametri:
<hex_packet>: stringa esadecimale del pacchetto TMEsempio:
# Analizza il pacchetto generato
./poc.py check $(cat evil_packet.hex)
[6-byte Primary Header][2-byte Secondary Header Length][Payload]
Lo script crea pacchetti in cui:
Secondary Header Length > (Total Packet Length - Header Offset)memcpy tenta di copiare più byte di quelli disponibiliavailable_space = total_length - (offset + length_field_size)
if claimed_length > available_space:
trigger_alert()
Questo software è destinato a:
Non utilizzarlo su sistemi di produzione o senza autorizzazione esplicita. I maintainer non si assumono alcuna responsabilità per l'uso improprio di questo strumento.