公開日:2021/04/30 最終更新日:2021/05/07

JVNVU#90467655
複数の RTOS やライブラリなどにメモリ割り当て処理における脆弱性 ("BadAlloc")

概要

複数の RTOS (Real Time Operating System) 製品やライブラリなどには、メモリ割り当て処理における脆弱性が存在します。

影響を受けるシステム

  • Amazon FreeRTOS Version 10.4.1
  • Apache Nuttx OS Version 9.1.0
  • ARM CMSIS-RTOS2 Version 2.1.3 より前のバージョン
  • ARM Mbed OS Version 6.3.0
  • ARM mbed-uallaoc Version 1.3.0
  • Cesanta Software Mongoose OS v2.17.0
  • eCosCentric eCosPro RTOS Version 2.0.1 から 4.5.3 まで
  • Google Cloud IoT Device SDK Version 1.0.2
  • Linux Zephyr RTOS Version 2.4.0 より前のバージョン
  • Media Tek LinkIt SDK Version 4.6.1 より前のバージョン
  • Micrium OS, Versions Version 5.10.1 およびそれ以前
  • Micrium uCOS II/uCOS III Versions 1.39.0 およびそれ以前
  • Micrium uC/LIB Version 1.38 系および Version 1.39.00
  • NXP MCUXpresso SDK Version 2.8.2 より前のバージョン
  • NXP MQX Versions 5.1 およびそれ以前
  • Red Hat newlib Version 4.0.0 より前のバージョン
  • RIOT OS Version 2020.01.1
  • Samsung Tizen RT RTOS Version 3.0.GBB より前のバージョン
  • TencentOS-tiny Version 3.1.0
  • Texas Instruments CC32XX Version 4.40.00.07 より前のバージョン
  • Texas Instruments SimpleLink MSP432E4XX
  • Texas Instruments SimpleLink-CC13XX Version 4.40.00 より前のバージョン
  • Texas Instruments SimpleLink-CC26XX Version 4.40.00 より前のバージョン
  • Texas Instruments SimpleLink-CC32XX Version 4.10.03 より前のバージョン
  • Uclibc-NG Version 1.0.36 より前のバージョン
  • Windriver VxWorks 7.0 より前のバージョン
  • Zephyr Project RTOS 2.5 より前のバージョン

 

詳細情報

複数の RTOS (Real Time Operating System) 製品やライブラリなどに、メモリ割り当て処理における脆弱性が報告されています。

メモリ割り当て処理においては、リクエストされたメモリサイズに対してシステムによるメモリ管理領域やアラインメント調整で必要とされるサイズを加算して、実際に確保するメモリサイズを計算します。この計算結果がシステム内で正しく表現できる範囲の値より大きくなってしまう場合には桁あふれを起こすため、その計算結果を使って以後の処理を継続すると異常動作につながります。したがってメモリ割り当て処理においては、リクエストされるメモリサイズが一定の範囲に収まっていることや計算処理が正しく行われることを検証する必要があります。
報告者らは、RTOS やライブラリ製品の実装状況を調査し、メモリ割り当て処理のなかで必要な検証を行っていない実装が複数存在することを発見しました。
報告者らは、彼らが発見し開発者と調整した脆弱性を総称して "BadAlloc" と呼んでいます。

想定される影響

想定される影響は各製品により異なりますが、次のような影響を受ける可能性があります。

  • デバイスをクラッシュさせられる
  • 任意のコードを実行される
詳細については、個々の製品開発者が提供している情報を確認してください。

対策方法

アップデートする
本脆弱性の影響を受ける製品を使用している場合、製品開発者が提供する情報をもとに、最新版にアップデートしてください。
以下の製品については、本脆弱性を修正したバージョンがリリースされています。

  • Amazon FreeRTOS
  • Apache Nuttx OS Version 9.1.0
  • ARM Mbed OS
  • Cesanta Software mongooses
  • eCosCentric eCosPro RTOS Versions 4.5.4 および最新バージョン
  • Google Cloud IoT Device SDK
  • Media Tek LinkIt SDK(ただし、無料版は除く)
  • Micrium OS v5.10.2 および最新バージョン
  • Micrium uC/LIB 1.39.01
  • NXP MCUXpresso SDK 2.9.0 および最新バージョン
  • NXP MQX 5.1 および最新バージョン
  • Red Hat newlib
  • RIOT OS
  • Samsung Tizen RT RTOS
  • TencentOS-tiny
  • Texas Instruments CC32XX v4.40.00.07
  • uClibc-ng
  • Zephyr Project (旧サポートバージョンにはパッチが提供されています。詳細は製品開発者が提供している情報を確認してください。)

参考情報

  1. ICS Advisory (ICSA-21-119-04)
    Multiple RTOS (Update A)
  2. Microsoft Security Response Center
    “BadAlloc” – Memory allocation vulnerabilities could affect wide range of IoT and OT devices in industrial, medical, and enterprise networks

JPCERT/CCからの補足情報

JPCERT/CCによる脆弱性分析結果

謝辞

関連文書

JPCERT 緊急報告
JPCERT REPORT
CERT Advisory
CPNI Advisory
TRnotes
CVE
JVN iPedia

更新履歴

2021/05/07
【影響を受けるシステム】、【対策方法】、【ベンダ情報】および【参考情報】を更新しました。