CVE-2026-15892 in Zephyr
Résumé
par VulDB • 14/09/2026
Le gestionnaire du groupe de gestion des paramètres SMP mcumgr, à savoir les fonctions settings_mgmt_read(), settings_mgmt_write() et settings_mgmt_delete() situées dans subsys/mgmt/mcumgr/grp/settings_mgmt/src/settings_mgmt.c, alloue un tampon key_name (et, pour la lecture, un tampon data) via k_malloc() lorsque CONFIG_MCUMGR_GRP_SETTINGS_BUFFER_TYPE_HEAP est activé, en s'appuyant sur l'étiquette end: pour les libérer avec k_free(). Lorsque CONFIG_MCUMGR_GRP_SETTINGS_ACCESS_HOOK est également activée et que le hook d'accès de l'application rejette une demande en renvoyant le statut MGMT_CB_ERROR_RC, le gestionnaire exécute directement return ret_rc;, contournant ainsi l'étiquette end: et provoquant une fuite des allocations heap à chaque requête rejetée.
Les gestionnaires de paramètres sont accessibles via un transport SMP non authentifié (Bluetooth LE, UART ou UDP, selon la configuration du produit). Le hook d'accès est le mécanisme utilisé par les applications pour refuser l'accès non autorisé aux paramètres, et MGMT_CB_ERROR_RC est une forme courante de rejet ; ainsi, un attaquant capable d'envoyer des commandes de lecture/écriture/suppression de paramètres qui sont refusées par le hook déclenche une fuite heap à chaque tentative.
Étant donné que la mémoire fuitée n'est jamais récupérée jusqu'au redémarrage, un flux soutenu de requêtes rejetées épuise monotone-ment l'espace d'allocation heap du noyau jusqu'à ce que k_malloc() échoue, privant le service mcumgr et impactant tout autre consommateur heap sur l'appareil — il s'agit donc d'une déni de service (DoS). L'impact est limité à la disponibilité ; il n'y a ni corruption de mémoire ni divulgation d'informations. Seules les configurations sélectionnant le type de tampon heap, activant le hook d'accès et enregistrant un hook renvoyant MGMT_CB_ERROR_RC sont concernées (le type de tampon par défaut sur pile ne peut pas fuiter).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.