Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-52413 — référentiel pour CVE-2025-52413 | Kitploit
Outils/GitHubGitHub/goldenticketlabs/cve-2025-52413
Sécurité des Systèmes EmbarquésSécurité BluetoothSécurité IoTAnalyse des VulnérabilitésExploitationSécurité MatérielleArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubgoldenticketlabs/cve-2025-52413

CVE-2025-52413

référentiel pour CVE-2025-52413

14il y a 1 anPas 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
Voir le dépôt

CVE-2025-52413 — Débordement de tampon BLE dans Particle Device OS

Découvreur : Golden Ticket Labs
Fournisseur : Particle
Date d'attribution : 12 août 2025 (MITRE)

Description

Un débordement de tampon dans le composant ble_control_request_channel.cpp de Particle Device OS v5.6.0 permet l'écrasement arbitraire d'un pointeur de fonction en raison d'un memcpy() sans limite dans un tampon de 64 octets.

Lorsqu'il est associé à l'invocation du callback adjacent ThreadRunner::eventHandler_, cela permet un détournement fiable du flux de contrôle et même l'exécution simulée d'une charge utile ROP :contentReference[oaicite:0]{index=0}.


Détails techniques

Chemin de code vulnérable :

// ble_control_request_channel.cpp
memcpy(buf_->data, &h, handshake_header_size);  // unbounded copy into 64-byte buffer

// thread_runner.cpp
if (r->eventHandler_) {
    r->eventHandler_(ev);  // function pointer called after adjacent memory corruption
}
  • handshake_header_size est contrôlé par l'attaquant.

  • buf_->data est un tampon brut de 64 octets, sans vérification des limites.

  • ThreadRunner stocke un pointeur de fonction inline eventHandler_ directement adjacent au tampon.

  • Le débordement de buf_->data permet d'écraser eventHandler_.

Selon la disposition de la compilation, le bogue se manifeste comme un débordement basé sur la pile (CWE-121) ou sur le tas (CWE-122), mais la cause première est une copie mémoire non sécurisée dans un tampon fixe à côté d'un pointeur de fonction.

Classification CWE :

  • CWE-120 : Débordement de tampon classique

  • CWE-121 : Débordement de tampon basé sur la pile

  • CWE-122 : Débordement de tampon basé sur le tas

  • CWE-787 : Écriture hors limites

  • CWE-829 : Inclusion de pointeur de fonction dans une structure avec tampon

Sévérité (CVSS v3.1)

  • Score de base : 8,8 (Élevé)

  • Vecteur : AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Cela reflète qu'une exécution de code arbitraire peut être réalisée avec une charge utile BLE spécialement conçue, nécessitant uniquement la proximité de l'attaquant et aucun privilège ou interaction utilisateur.

Versions affectées

  • Particle Device OS v5.6.0 — Vulnérable

  • v5.7.0 et plus récent — Corrigé silencieusement ([Gen 3] BLE : Correction du débordement de pile dans le rappel du minuteur BLE)

Preuve de concept (Laboratoire uniquement)

⚠️ Aucun code d'exploitation armé n'est inclus. Il s'agit d'une illustration sécurisée.

Structure conceptuelle de la PoC :

struct ExploitTarget {
    char buffer[64];
    void (*eventHandler)(const char* msg);  // overwrite target
};

char payload[128];
memset(payload, 'A', 64);                          // fill buffer
memcpy(payload + 64, &address_of_rop_shell, 8);    // overwrite function pointer

// Redirect control flow to:
void rop_shell(const char* msg) {
    system("/bin/sh");  // simulated ROP payload
}

Le vidage hexadécimal a confirmé que le pointeur eventHandler_ a été écrasé et redirigé.

Vecteur d'attaque

  • L'exploitation à distance est possible via un message de contrôle BLE spécialement conçu.

  • Le débordement se produit lors de l'analyse de la poignée de main, lorsque handshake_header_size dépasse le tampon de 64 octets.

  • Une fois corrompu, le callback eventHandler_ invoque le code contrôlé par l'attaquant.

Impact

  • Exécution de code arbitraire sur les appareils Particle affectés

  • Compromission totale de la confidentialité, de l'intégrité et de la disponibilité

  • Persistance potentielle et mouvement latéral dans les environnements compatibles BLE

Atténuation

  • Mettez à niveau vers Particle Device OS v5.7.0 ou plus récent, où le débordement a été corrigé.

  • Renforcez l'analyse BLE avec des vérifications des limites (memcpy_s ou équivalent).

  • Séparez les pointeurs de fonction des champs sujets aux débordements.

  • Compilez avec des canaris de pile, SafeStack et des sanitizers mémoire.

Références

  • Notes de version de Particle Device OS v5.7.0

  • Rapport de laboratoire et simulation PoC

Licence et Avertissement

Tout le contenu de ce dépôt est fourni à des fins éducatives et défensives uniquement.
Aucune charge utile d'exploitation n'est incluse. N'essayez pas d'utiliser ces techniques contre des systèmes sans autorisation explicite.

Contact

Golden Ticket Labs
📧 [email protected]

🌐 goldenticketlabs.com

Télécharger l’outil