Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-36522 — CVE-2026-36522: iniezione NaN non autenticata tramite MAVLink PARAM_SET in ArduPilot ArduPlane (CWE-1287, DoS/integrità) | Kitploit
Strumenti/GitHubGitHub/deepwoodssec/cve-2026-36522
Sicurezza Sistemi EmbeddedSicurezza IoTAnalisi delle VulnerabilitàExploitFuzzingPenetration Testing
GitHubdeepwoodssec/cve-2026-36522

CVE-2026-36522

CVE-2026-36522: iniezione NaN non autenticata tramite MAVLink PARAM_SET in ArduPilot ArduPlane (CWE-1287, DoS/integrità)

Vedi Repository
2 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-36522

Iniezione NaN non autenticata tramite MAVLink PARAM_SET in ArduPilot ArduPlane

CVECVE-2026-36522
CWECWE-1287 (Convalida impropria del tipo di input specificato)
CVSS 3.19.1 Critico — AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
InteressatoArduPilot ArduPlane 4.0.1 (confermato)
ComponenteGCS_MAVLINK::handle_param_set() — libraries/GCS_MAVLink/GCS_Param.cpp
VettoreMAVLink remoto, non autenticato
ImpattoDenial of service (SITL) / corruzione silenziosa dei parametri di volo (hardware)
SegnalatoreSebastien Arseneault, Deep Woods Security

Sommario

handle_param_set() accetta un valore IEEE 754 in virgola mobile da un messaggio MAVLink PARAM_SET non autenticato senza convalidarlo per NaN o infinito. Il valore malformato raggiunge un confronto in virgola mobile (is_equal<float,float>() in AP_Math.cpp) senza alcun controllo di tipo o valore.

Non si tratta di una vulnerabilità di esecuzione di codice. L'impatto è il denial of service e la corruzione dell'integrità.

Impatto

  • SITL / build con eccezioni FP abilitate: il NaN attiva un'eccezione in virgola mobile (SIGFPE) e il processo dell'autopilota termina — denial of service.
  • Hardware di produzione (STM32/Pixhawk), dove le eccezioni FP sono disabilitate: il valore malformato viene memorizzato silenziosamente in un parametro critico per il volo, senza crash e senza avviso visibile all'operatore. Questo è il caso più pericoloso: i parametri di volo corrotti si propagano nella matematica di controllo senza alcuna indicazione all'operatore.

La lacuna di validazione è nel gestore dei parametri comune, quindi tutti i parametri di tipo float sono interessati.

Prova di concetto

Un singolo PARAM_SET non autenticato che trasporta un NaN silenzioso (0x7FC00000) mirato a ARSPD_FBW_MIN:

root@kitploit:~
python3 poc/CVE-2026-36522.py [host:port]    # default tcp:127.0.0.1:5760

Vedi poc/CVE-2026-36522.py.

Evidenza

Stack trace SITL catturato (stacktrace.txt) che mostra l'input esterno che raggiunge il confronto non protetto:

root@kitploit:~
#6  is_equal<float, float> (v_1=nan(0x400000), v_2=0) at AP_Math.cpp:35
#7  GCS_MAVLINK::handle_param_set ... at GCS_Param.cpp:299
    packet = {param_value = nan(0x400000), param_id = "ARSPD_FBW_MIN", param_type = 9}

La catena di chiamate (update_receive -> packetReceived -> handle_common_message -> handle_param_set) conferma che il percorso è raggiungibile da input di rete non autenticato.

Rimedio

Convalidare il valore in ingresso prima dell'uso:

root@kitploit:~
if (isnan(packet.param_value) || isinf(packet.param_value)) {
    // rifiuta: valore fuori range
    return;
}

Cronologia della divulgazione

DataEvento
2026-02-26Richiesta CVE inviata a MITRE
2026-02-26Fornitore notificato (ArduPilot)
2026-06-15CVE-2026-36522 assegnato; PoC e stack trace pubblicati

Crediti

Sebastien Arseneault — Deep Woods Security

Scarica lo strumento