
Программный proof of concept для CVE-2025-52464 в личных сообщениях Meshtastic
Этот проект представляет собой чисто программное доказательство концепции, демонстрирующее CVE-2025-52464 — уязвимость, затрагивающую версии прошивки Meshtastic с 2.5.0 по 2.6.10.
Реализация воспроизводит криптографическое поведение уязвимой прошивки и показывает, как дублированные или низкоэнтропийные криптографические ключи могут позволить атакующему расшифровать зашифрованные прямые сообщения (DM). Также демонстрируется исправленное поведение, введённое в версии прошивки 2.6.11, где корректная генерация ключей и обнаружение низкоэнтропийных ключей предотвращают атаку.
crypto_engine.py Cryptographic operations (X25519, HKDF, AES-GCM)
node.py Simulated Meshtastic node
packet.py Encrypted Direct Message packet
attacker.py Passive attacker simulation
security_checker.py Low-entropy public key detection
compromised_keys.py Database of compromised public keys
simulation.py Coordinates the complete simulation
demo.py Runs the vulnerable and patched demonstrations
test_node.py
test_packet.py
test_vulnerable_key.py
test_attacker_decrypt.py
test_fixed_case.py
Создайте виртуальное окружение (необязательно):
python -m venv venv
Активируйте его.
Windows:
venv\Scripts\activate
Установите требуемый пакет:
pip install -r requirements.txt
Выполните:
python demo.py
Демонстрация выполняет два эксперимента:
Уязвимая прошивка
Исправленная прошивка
Следующие скрипты можно запускать независимо:
python test_node.py
python test_packet.py
python test_vulnerable_key.py
python test_attacker_decrypt.py
python test_fixed_case.py
Этот проект был разработан как бонусный проект для курса Network Security, предлагаемого лабораторией Secure Mobile Networking Lab (SEEMOO) в Technische Universität Darmstadt, в течение летнего семестра 2026 года.
Он предназначен исключительно для образовательных и исследовательских целей. Реализация представляет собой чисто программное доказательство концепции для CVE-2025-52464, моделирующее криптографический процесс, ответственный за уязвимость. Она не реализует полную прошивку Meshtastic, физический уровень LoRa или полный стек связи Meshtastic.
Проект предназначен для содействия изучению и пониманию безопасной генерации ключей и криптографических уязвимостей и не должен использоваться для несанкционированной или вредоносной деятельности.
Masoud Mehdipour
Бонусное задание по сетевой безопасности
Secure Mobile Networking Lab
TU Darmstadt