サイバーセキュリティ企業のGuardaraは9月23日(現地時間)、「Guardara Uncovers Key Zero Day Vulnerability in Popular IoT Message Broker Software – GUARDARA」において、EMQが提供しているIoT向けメッセージブローカーソフトウェア「NanoMQ」にゼロデイ脆弱性が発見されたと伝えた。

この脆弱性を悪用されると、NanoMQに接続されたIoTデバイスがクラッシュさせられる可能性があるという。これによって、NanoMQに依存するシステムが完全にシャットダウンする危険性があり、極めて危険と指摘されている。

NanoMQは、MQTT(Message Queueing Telemetry Transport)プロトコルに対応したIoTデバイス向けのメッセージブローカーソフトウェア。NanoMQは1万を超える企業に採用されており、世界中で1億を超えるIoTデバイスがNanoMQによって管理されているという。利用範囲は車載装置や火災報知器、病人の健康状態の監視、スマートウォッチなど多岐にわたるため、今回発見された脆弱性は極めて広範囲に影響を与えるおそれがあるとされている。

Guardaraは、独自の強力なテストツールを使用してNanoMQをテストし、デバイスがクラッシュする原因となった複数の問題を数分で検出したという。主な問題はMQTTのパケット長の検証が不十分なことで、送信されたメッセージのパケット長が想定よりも短い場合に、memcpyシステムコールが未割り当てのメモリ領域を参照し、クラッシュにつながるとされている。

攻撃に必要なスキルが基本的なネットワークとスクリプトの知識だけであるにもかかわらず、NanoMQはミッションクリティカルなシステムでも採用されているため、この脆弱性の潜在的な危険性は極めて高いと指摘されている。

NanoMQはオープンソースで開発されており、ソースコードはGitHubでホストされている。今回報告された脆弱性は、Guardaraの研究者によって2021年8月16日に問題が報告され、同18日に修正版のコードがmasterブランチに取り込まれている。

ただし、各IoTデバイスがこの問題に対処するにはそれぞれのファームウェアのアップデートが必要となる。NanoMQを組み込んだデバイスのユーザーは、提供元のベンダーからファームウェアのアップデートについて確認する必要があるだろう。

  • GitHubのプロジェクトに起票されたこの問題に関するIssue

    GitHubのプロジェクトに起票されたこの問題に関するIssue