🇰🇷 한글 설명
Meshtastic 펌웨어는 PKI 암호화가 누락될 경우 하위 호환성을 위해 기존 AES-256-CTR 방식으로 자동 전환되는데, 사용자 앱이 이 차이를 구분하지 못하는 취약점이 있습니다. 이로 인해 공격자가 공유 채널 키를 이용해 위조된 메시지를 PKI 암호화 메시지인 것처럼 속여 전송할 수 있는 다운그레이드 공격이 가능합니다.
💡 쉬운 설명
보안이 강화된 새로운 암호화 방식이 작동하지 않을 때, 시스템이 자동으로 옛날 방식으로 돌아가는데 이를 사용자가 알 수 없습니다. 해커는 이 점을 악용해 가짜 메시지를 마치 안전한 메시지인 것처럼 속여 보낼 수 있습니다.
🇺🇸 원문 (English)
Meshtastic is an open source mesh networking solution. The Meshtastic firmware (starting from version 2.5) introduces asymmetric encryption (PKI) for direct messages, but when the `pki_encrypted` flag is missing, the firmware silently falls back to legacy AES-256-CTR channel encryption. This was an intentional decision to maintain backwards compatibility. However, the end-user applications, like Web app, iOS/Android app, and applications built on top of Meshtastic using the SDK, did not have a way to differentiate between end-to-end encrypted DMs and the legacy DMs. This creates a downgrade attack path where adversaries who know a shared channel key can craft and inject spoofed direct messages that are displayed as if they were PKC encrypted. Users are not given any feedback of whether a direct message was decrypted with PKI or with legacy symmetric encryption, undermining the expected security guarantees of the PKI rollout. Version 2.7.15 fixes this issue.
📍 영향받는 시스템
Meshtastic firmware version 2.5 to 2.7.14
⚔️ 공격 벡터
공유 채널 키를 이용한 암호화 방식 다운그레이드 및 위조 메시지 주입
🛡️ 대응 방법
Meshtastic 펌웨어를 버전 2.7.15 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 펌웨어 버전이 2.7.15 미만인지 확인하십시오.
meshtastic --version 2>/dev/null || echo 'Check firmware version via device interface'