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-2025-52413 — repo per CVE-2025-52413 | Kitploit
Strumenti/GitHubGitHub/goldenticketlabs/cve-2025-52413
Sicurezza Sistemi EmbeddedSicurezza BluetoothSicurezza IoTAnalisi delle VulnerabilitàExploitSicurezza HardwarePaper e RicercaApprendimento e FormazioneBinary Exploitation
GitHubgoldenticketlabs/cve-2025-52413

CVE-2025-52413

repo per CVE-2025-52413

11 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
Vedi Repository

CVE-2025-52413 — Overflow del buffer BLE di Particle Device OS

Scopritore: Golden Ticket Labs
Fornitore: Particle
Data assegnazione: 12 agosto 2025 (MITRE)

Descrizione

Un overflow del buffer nel componente ble_control_request_channel.cpp di Particle Device OS v5.6.0 consente la sovrascrittura arbitraria di un puntatore a funzione a causa di una memcpy() senza limiti in un buffer di 64 byte.

Se abbinato alla chiamata adiacente del callback ThreadRunner::eventHandler_, questo permette un dirottamento affidabile del flusso di controllo e persino l'esecuzione simulata di payload ROP: contentReference[oaicite:0]{index=0}.


Dettagli tecnici

Percorso del codice vulnerabile:

root@kitploit:~
// ble_control_request_channel.cpp
memcpy(buf_->data, &h, handshake_header_size);  // copia senza limiti in un buffer di 64 byte

// thread_runner.cpp
if (r->eventHandler_) {
    r->eventHandler_(ev);  // puntatore a funzione chiamato dopo la corruzione della memoria adiacente
}
  • handshake_header_size è controllato dall'attaccante.
  • buf_->data è un buffer grezzo di 64 byte, privo di controlli sui limiti.
  • ThreadRunner memorizza un puntatore a funzione inline eventHandler_ direttamente adiacente al buffer.
  • L'overflow di buf_->data consente la sovrascrittura di eventHandler_.

A seconda della disposizione della build, il bug si manifesta come overflow basato su stack (CWE-121) o su heap (CWE-122), ma la causa principale è la copia non sicura della memoria in un buffer fisso accanto a un puntatore a funzione.

Classificazione CWE:

  • CWE-120: Overflow del buffer classico
  • CWE-121: Overflow del buffer basato su stack
  • CWE-122: Overflow del buffer basato su heap
  • CWE-787: Scrittura fuori dai limiti
  • CWE-829: Inclusione di un puntatore a funzione in una struct con un buffer

Gravità (CVSS v3.1)

  • Punteggio base: 8.8 (Alto)
  • Vettore: AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Ciò riflette che è possibile ottenere l'esecuzione di codice arbitrario con un payload BLE appositamente predisposto, che richiede solo la prossimità dell'attaccante e nessun privilegio o interazione dell'utente.

Versioni interessate

  • Particle Device OS v5.6.0 — Vulnerabile
  • v5.7.0 e successive — Corretto silenziosamente ([Gen 3] BLE: Fix stack overflow in BLE timer callback)

Proof of Concept (Solo in laboratorio)

⚠️ Non è incluso codice di exploit funzionante. Questa è un'illustrazione sicura.

Struttura concettuale del PoC:

root@kitploit:~
struct ExploitTarget {
    char buffer[64];
    void (*eventHandler)(const char* msg);  // bersaglio della sovrascrittura
};

char payload[128];
memset(payload, 'A', 64);                          // riempi il buffer
memcpy(payload + 64, &address_of_rop_shell, 8);    // sovrascrivi il puntatore a funzione

// Reindirizza il flusso di controllo a:
void rop_shell(const char* msg) {
    system("/bin/sh");  // payload ROP simulato
}

Il dump esadecimale ha confermato che il puntatore eventHandler_ è stato sovrascritto e reindirizzato.

Vettore d'attacco

  • L'attacco remoto è possibile tramite un messaggio di controllo BLE appositamente predisposto.
  • L'overflow si verifica durante l'analisi dell'handshake, quando handshake_header_size supera il buffer di 64 byte.
  • Una volta corrotto, il callback eventHandler_ invoca il codice controllato dall'attaccante.

Impatto

  • Esecuzione di codice arbitrario sui dispositivi Particle interessati
  • Compromissione totale di riservatezza, integrità e disponibilità
  • Possibile persistenza e movimento laterale in ambienti abilitati BLE

Mitigazione

  • Aggiornare a Particle Device OS v5.7.0 o successivo, dove l'overflow è stato corretto.
  • Rafforzare l'analisi BLE con controlli sui limiti (memcpy_s o equivalente).
  • Separare i puntatori a funzione dai buffer soggetti a overflow.
  • Compilare con canary di stack, SafeStack e sanitizer di memoria.

Riferimenti

  • Note di rilascio di Particle Device OS v5.7.0
  • Rapporto di laboratorio e simulazione PoC

Licenza e disclaimer

Tutti i contenuti di questo repository sono forniti solo a scopo educativo e difensivo. Non sono inclusi payload di exploit. Non tentare di utilizzare queste tecniche contro sistemi senza autorizzazione esplicita.

Contatti

Golden Ticket Labs
📧 [email protected]

🌐 goldenticketlabs.com

Scarica lo strumento