Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2025-52413 — repo for CVE-2025-52413 | Kitploit
Инструменты/GitHubGitHub/goldenticketlabs/cve-2025-52413
Embedded Systems SecurityBluetooth SecurityIoT SecurityVulnerability AnalysisExploitationHardware SecurityPapers & ResearchLearning & EducationBinary Exploitation
GitHubgoldenticketlabs/cve-2025-52413

CVE-2025-52413

repo for CVE-2025-52413

11 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий

CVE-2025-52413 — Переполнение буфера BLE в Particle Device OS

Обнаружили: Golden Ticket Labs
Вендор: Particle
Дата назначения: 12 августа 2025 г. (MITRE)

Описание

Переполнение буфера в компоненте ble_control_request_channel.cpp Particle Device OS v5.6.0 позволяет перезаписывать произвольный указатель функции из-за неограниченного вызова memcpy() в 64-байтовый буфер.

В сочетании с соседним вызовом обратного вызова ThreadRunner::eventHandler_ это обеспечивает надежный захват потока управления и даже выполнение имитированной ROP-нагрузки: contentReference[oaicite:0]{index=0}.


Технические подробности

Уязвимый участок кода:

root@kitploit:~
// ble_control_request_channel.cpp
memcpy(buf_->data, &h, handshake_header_size);  // неограниченное копирование в 64-байтовый буфер

// thread_runner.cpp
if (r->eventHandler_) {
    r->eventHandler_(ev);  // вызов указателя функции после повреждения соседней памяти
}
  • handshake_header_size контролируется атакующим.
  • buf_->data — необработанный 64-байтовый буфер, лишенный проверок границ.
  • ThreadRunner хранит встроенный указатель функции eventHandler_ непосредственно рядом с буфером.
  • Переполнение buf_->data позволяет перезаписать eventHandler_.

В зависимости от компоновки сборки ошибка проявляется как переполнение на стеке (CWE-121) или в куче (CWE-122), но корневая причина — небезопасное копирование памяти в фиксированный буфер рядом с указателем функции.

Классификация CWE:

  • CWE-120: Классическое переполнение буфера
  • CWE-121: Переполнение буфера на стеке
  • CWE-122: Переполнение буфера в куче
  • CWE-787: Запись за пределами границ
  • CWE-829: Включение указателя функции в структуру с буфером

Серьезность (CVSS v3.1)

  • Базовая оценка: 8.8 (Высокая)
  • Вектор: AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Это отражает, что произвольное выполнение кода может быть достигнуто с помощью специально сформированной BLE-нагрузки, требующей только близости атакующего и не требующей привилегий или взаимодействия с пользователем.

Затронутые версии

  • Particle Device OS v5.6.0 — уязвима
  • v5.7.0 и новее — исправлено без публичного объявления ([Gen 3] BLE: Исправление переполнения стека в callback-функции таймера BLE)

Подтверждение концепции (только лабораторные условия)

⚠️ Вредоносный эксплойт-код не включен. Это безопасная иллюстрация.

Концептуальная структура PoC:

root@kitploit:~
struct ExploitTarget {
    char buffer[64];
    void (*eventHandler)(const char* msg);  // цель перезаписи
};

char payload[128];
memset(payload, 'A', 64);                          // заполнить буфер
memcpy(payload + 64, &address_of_rop_shell, 8);    // перезаписать указатель функции

// Перенаправить поток управления на:
void rop_shell(const char* msg) {
    system("/bin/sh");  // имитированная ROP-нагрузка
}

Шестнадцатеричный дамп подтвердил, что указатель eventHandler_ был перезаписан и перенаправлен.

Вектор атаки

  • Удаленная эксплуатация возможна через специально сформированное управляющее сообщение BLE.
  • Переполнение происходит во время разбора рукопожатия, когда handshake_header_size превышает 64-байтовый буфер.
  • После повреждения обратный вызов eventHandler_ вызывает код, контролируемый атакующим.

Влияние

  • Произвольное выполнение кода на затронутых устройствах Particle
  • Полная компрометация конфиденциальности, целостности и доступности
  • Возможное закрепление и боковое перемещение в средах с поддержкой BLE

Смягчение

  • Обновитесь до Particle Device OS v5.7.0 или новее, где исправлено переполнение.
  • Укрепите разбор BLE проверками границ (memcpy_s или эквивалент).
  • Отделите указатели функций от переполняемых полей.
  • Компилируйте с защитой стека (canaries), SafeStack и санитайзерами памяти.

Ссылки

  • Particle Device OS v5.7.0 Release Notes
  • Лабораторный отчет и симуляция PoC (замените на реальную ссылку, если есть)

Лицензия и отказ от ответственности

Все материалы в этом репозитории предоставлены только для образовательных и защитных целей. Нагрузки эксплойтов не включены. Не пытайтесь использовать эти техники против систем без явного разрешения.

Контакты

Golden Ticket Labs
📧 [email protected]

🌐 goldenticketlabs.com

Скачать инструмент