Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-36522 — CVE-2026-36522: unauthenticated NaN injection via MAVLink PARAM_SET in ArduPilot ArduPlane (CWE-1287, DoS/integrity) | Kitploit
Outils/GitHubGitHub/deepwoodssec/cve-2026-36522
Embedded Systems SecurityIoT SecurityVulnerability AnalysisExploitationFuzzingPenetration Testing
GitHubdeepwoodssec/cve-2026-36522

CVE-2026-36522

CVE-2026-36522: unauthenticated NaN injection via MAVLink PARAM_SET in ArduPilot ArduPlane (CWE-1287, DoS/integrity)

Voir le dépôt
il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-36522

Injection NaN non authentifiée via MAVLink PARAM_SET dans ArduPilot ArduPlane

CVECVE-2026-36522
CWECWE-1287 (Validation incorrecte du type d'entrée spécifié)
CVSS 3.19.1 Critique — AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
AffectéArduPilot ArduPlane 4.0.1 (confirmé)
ComposantGCS_MAVLINK::handle_param_set() — libraries/GCS_MAVLink/GCS_Param.cpp
VecteurRéseau distant, MAVLink non authentifié
ImpactDéni de service (SITL) / corruption silencieuse des paramètres de vol (matériel)
SignaleurSebastien Arseneault, Deep Woods Security

Résumé

handle_param_set() accepte une valeur flottante IEEE 754 provenant d'un message MAVLink PARAM_SET non authentifié sans la valider pour NaN ou l'infini. La valeur malformée atteint une comparaison en virgule flottante (is_equal<float,float>() dans AP_Math.cpp) sans vérification de type ou de valeur.

Il ne s'agit pas d'une vulnérabilité d'exécution de code. L'impact est un déni de service et une corruption de l'intégrité.

Impact

  • SITL / compilations avec exceptions FP activées : le NaN déclenche une exception virgule flottante (SIGFPE) et le processus autopilote s'arrête — déni de service.
  • Matériel de production (STM32/Pixhawk), où les exceptions FP sont désactivées : la valeur malformée est stockée silencieusement dans un paramètre critique de vol, sans plantage ni avertissement visible par l'opérateur. C'est le cas le plus dangereux : les paramètres de vol corrompus se propagent dans les calculs de contrôle sans indication pour l'opérateur.

La lacune de validation se trouve dans le gestionnaire de paramètres commun, donc tous les paramètres de type flottant sont affectés.

Preuve de concept

Un seul PARAM_SET non authentifié transportant un NaN silencieux (0x7FC00000) ciblant ARSPD_FBW_MIN :

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

Voir poc/CVE-2026-36522.py.

Preuves

Trace de pile SITL capturée (stacktrace.txt) montrant l'entrée externe atteignant la comparaison non protégée :

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 chaîne d'appels (update_receive -> packetReceived -> handle_common_message -> handle_param_set) confirme que le chemin est accessible à partir d'une entrée réseau non authentifiée.

Correction

Valider la valeur entrante avant utilisation :

root@kitploit:~
if (isnan(packet.param_value) || isinf(packet.param_value)) {
    // reject: value out of range
    return;
}

Calendrier de divulgation

DateÉvénement
2026-02-26Demande CVE soumise à MITRE
2026-02-26Fournisseur notifié (ArduPilot)
2026-06-15CVE-2026-36522 attribué ; PoC et trace de pile publiés

Crédits

Sebastien Arseneault — Deep Woods Security

Télécharger l’outil