公開日:2021/04/30 最終更新日:2022/04/20

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-ualloc 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
  • Media Tek LinkIt SDK Version 4.6.1 より前のバージョン
  • Micrium OS Version 5.10.1 およびそれ以前
  • 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 より前のバージョン
  • BlackBerry QNX SDP  6.5.0SP1、6.5.0、6.4.1、6.4.0
  • BlackBerry QNX Momentics Development Suite  6.3.2
  • BlackBerry QNX Momentics 6.3.0SP3、6.3.0SP2、6.3.0SP1、6.3.0、6.2.1b、6.2.1、6.2.1A、6.2.0
  • BlackBerry QNX Realtime Platform 6.1.0a、6.1.0、6.0.0a、6.0.0
  • BlackBerry QNX Cross Development Kit 6.0.0、6.1.0
  • BlackBerry QNX Development Kit (Self-hosted) 6.0.0、6.1.0
  • BlackBerry QNX Neutrino RTOS Safe Kernel 1.0
  • BlackBerry QNX Neutrino RTOS Certified Plus 1.0
  • BlackBerry QNX Neutrino RTOS for Medical Devices 1.0、1.1
  • BlackBerry QNX OS for Automotive Safety 1.0
  • BlackBerry QNX OS for Safety 1.0、1.0.1
  • BlackBerry QNX Neutrino Secure Kernel 6.4.0、6.5.0
  • BlackBerry QNX CAR Development Platform 2.0RR

詳細情報

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

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

想定される影響

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

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

対策方法

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

  • Amazon FreeRTOS
  • Apache Nuttx OS Version 9.1.0
  • ARM Mbed OS
  • BlackBerry QNX SDP 6.6.0
  • BlackBerry QNX Neutrino RTOS for Medical Devices 1.1.1
  • BlackBerry QNX OS for Safety 1.0.2
  • 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
  • Texas Instruments SimpleLink CC13X0
  • Texas Instruments SimpleLink CC13X2-CC26X2
  • Texas Instruments SimpleLink CC2640R2
  • uClibc-ng
  • Windriver VxWorks
    • Hitachi Energy RTU500 series CMU(RTOSにWindriver VxWorksを使用)
  • Zephyr Project (旧サポートバージョンにはパッチが提供されています。詳細は製品開発者が提供している情報を確認してください。)

ベンダ情報

ベンダ ステータス ステータス
最終更新日
ベンダの告知ページ
三菱電機株式会社 該当製品あり 2021/09/02 三菱電機株式会社 の告知ページ

参考情報

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

JPCERT/CCからの補足情報

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

謝辞

関連文書

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

更新履歴

2021/05/07
【影響を受けるシステム】、【対策方法】、【ベンダ情報】および【参考情報】を更新しました。
2021/08/18
【影響を受けるシステム】【ベンダ情報】【対策情報】に QNX の情報を追加、【参考情報】に AA21-229A を追加しました。
2021/09/02
三菱電機株式会社のベンダステータスが更新されました。
2021/09/02
【参考情報】の記載を修正しました。
2021/12/01
ICS Advisory (ICSA-21-119-04) Multiple RTOS (Update D) に応じて【影響を受けるシステム】、【対策方法】、【ベンダ情報】および【参考情報】を更新しました。
2022/04/20
ICS Advisory (ICSA-21-119-04) Multiple RTOS (Update E) に応じて【ベンダ情報】および【参考情報】を更新しました。