Armadillo-IoT ゲートウェイ A6E の新規リリースを行いました。
このリリースはダウンロードページからダウンロード可能です。
ドキュメント
Armadillo-IoT ゲートウェイ A6E 製品マニュアル (v2.10.0)
- 「3.7.5. ウォッチドッグタイマー」 を追加
- 「3.7.6. コンテナに Armadillo の情報を渡す方法」 を追加
- 「図 4.10. 開発完了後のシステムをインストールディスクイメージにする」 の内容を最新に更新
- 「表 6.1. aiot-set-wake-trigger TRIGGER一覧」 の USB ホストインターフェースを CON9 に修正
- 「6.3.1. swupdate で可能なアップデート」 を追加
- 「6.3.2. コンテナのアップデート、ユーザーデータディレクトリやArmadillo Base OS の差分アップデート」 を追加 -「6.3.3. Armadillo Base OS の一括アップデート」 を追加
- 「6.3.4. ブートローダーのアップデート」 を追加
- 「6.4.1. インストールバージョンを指定する」 にバージョンの指定方法に関する説明を追加
- 「6.4.2. Armadillo へファイルを転送する」 の swdesc_tar、swdesc_files コマンドに --preserve-attributes オプションを追加
- 「6.4.5. 動作中の環境でのコマンドの実行」 に nochroot についての記述を追加•誤記修正
Armadillo-IoT ゲートウェイ A6E +Di8+Ai4 製品マニュアル (v2.10.0)
- 「3.8.5. ウォッチドッグタイマー」 を追加
- 「3.8.6. コンテナに Armadillo の情報を渡す方法」 を追加
- 「図 4.10. 開発完了後のシステムをインストールディスクイメージにする」 の内容を最新に更新
- 「表 6.1. aiot-set-wake-trigger TRIGGER一覧」 の USB ホストインターフェースを CON9 に修正
- 「6.3.1. swupdate で可能なアップデート」 を追加
- 「6.3.2. コンテナのアップデート、ユーザーデータディレクトリやArmadillo Base OS の差分アップデート」 を追加
- 「6.3.3. Armadillo Base OS の一括アップデート」 を追加
- 「6.3.4. ブートローダーのアップデート」 を追加
- 「6.4.1. インストールバージョンを指定する」 にバージョンの指定方法に関する説明を追加
- 「6.4.2. Armadillo へファイルを転送する」 の swdesc_tar、swdesc_files コマンドに --preserve-attributes オプションを追加
- 「6.4.5. 動作中の環境でのコマンドの実行」 に nochroot についての記述を追加•誤記修正
Armadillo Base OS (3.19.1-at.4)
Armadillo Base OS は SWU イメージとして提供されます。
SWUイメージをインストールする方法については、製品マニュアルのSWU「イメージのインストール」 を参考にしてください。
バージョン 3.19.1-at.1 からデバイス運用管理クラウドサービス
Armadillo Twin に対応しました。
対応された脆弱性
今月以降のアップデートニュースには、対応した脆弱性に関する情報を掲載します。
アップデートの緊急性を評価する際の参考にしてください。
-
swupdate でアーカイブを展開する際はチェックサムを確認しますが、確認と同時に展開もアーカイブの展開も行っています。
その影響で、いくつかの条件を満たせば問題になります:- インストール可能な SWU である
バージョンまたは証明書のチェックですぐに失敗する場合は問題ありません。
また、インストールする手段も必要です(USB メモリの直接アクセスかアップデートサーバーを踏み台にする攻撃)。 - 対象の SWU が暗号化されてない
暗号化されている SWU でも理論上は変更を加えることは可能ですが、変更の結果を予測できないため大変攻撃しにくくなります。 - 対象の SWU が swdesc_tar または swdesc_files でファイルを転送している
アーカイブ転送のコード以外には問題がありませんので、コンテナイメージのみのアップデート等であれば問題ありません。
上記の条件を満たせた場合、 SWU に変更を加えることで、以下の 2 つの脆弱性に該当する可能性があります。
-
libarchive CVE-2024-26256
.rar ファイルの展開での任意実行の脆弱性 (RCE) です。
Armadillo Base OS では swupdate で直接に .rar ファイルを libarchive で展開させることはほぼないと思われますが、インストール可能な暗号化されてない SWU に swdesc_tar か swdesc_files のアーカイブを変更することでインストールが失敗しても展開の処理が行われますので不具合を起こせます。 -
mkswu 6.0 以前での /var/app/volumes 問題。 上記の条件に加えて swdesc_files または swdesc_tar の --dest に "/" または "/var/app/volumes" を指定した場合、/var/app/volumes のファイルを上書きすることができてしまいます。
/var/app/volumes は 2 面化されていないため、アップデートが失敗しても変更した内容が残ってしまう問題があります。
今回の製品アップデートで、Armadilllo Base OS のアップデートなどで /var/app/volumes を使用しない場合 /var/app/volumes をマウントしないように変更し、/ を展開する際 /var/app/volumes を書込み不可能にすることでこの問題を回避しました。- この脆弱性がなくても、 /var/app/volumes が 2 面化されていないことでアップデートの途中に失敗が発生する場合の不具合につながりますので、コンテナのアップデートデータは /var/app/rollback/volumes にのみ書き込んでください。
- どうしても /var/app/volumes のアップデートが必要な場合はアップデートを暗号化してください。
今回の修正の他に、SWU ファイルのチェックサムを確認する仕組みを見直して不正なデータを展開する前に拒否するように改善する予定です。
- インストール可能な SWU である
-
linux (5.10.215 -> 5.10.218)
- netfilter に関する脆弱性 (ユーザーネームスペースで問題になる恐れ): CVE-2024-36005, CVE-2024-26924, CVE-2024-27020, CVE-2024-35962, CVE-2024-35967
- bluetooth に関する脆弱性: CVE-2024-27398 (接続タイムアウトの際の use-after-free), CVE-2024-35967 (setsockopt の際の write overflow), CVE-2024-35978 (受信の際のメモリリーク)
-
GDBus (glib) CVE-2024-34397
NetworkManager または ModemManager のサービスからメッセージを受信する際、第三者のメッセージを間違って受信する不具合です。Armadillo Base OS では影響ありません。 -
podman の go による脆弱性 (go 1.21.6 -> 1.21.10): GO-2024-2598, GO-2024-2599, GO-2024-2600, GO-2024-2609, GO-2024-2610
podman pull で信用してないサーバーからコンテナをダウンロードする際、クラッシュまたはメモリを多く消費させる不具合がありますが、podman pull を実行する際にサーバーのイメージを確認しておりませんのでこの不具合で新しい問題は発生しません。Armadillo Base OS では SWU ファイルにコンテナイメージを転送することが多いと思われますが、その場合は影響ありません。
ABOS Web 1.3.2
- http2 のヘッダーサイズを 4KB に制限
Linux カーネル (linux-at-5.10.218-r0)
- linux-stable/linux-5.10.y merge 215 -> 218
Linux カーネル v5.10-atのソースコードは、github上でも公開しています。
swupdate (2023.12_git20240419-r1)
- swupdate -d (ダウンロード)モードに速度制限設定オプションを追加
mkswu (6.1-r0)
- 脆弱性に関する修正:
- Armadilllo Base OS のアップデートなどで /var/app/volumes を使用しない場合 /var/app/volumes をマウントしないように変更
- swdesc_command 等のコマンドを実行する際 /tmp と /var/tmp をインストール対象の場所と共有しないように変更
- mkswu で SWU を生成する際にバージョンが指定されて無いコマンドをエラーとする変更
- 2023 年 5 月以降にワーニングが出力していたので、ワーニングが出力されていなかった場合に影響ありません。
- "swdesc_option version=..." でバージョンを指定してください。
- 2023 年 5 月以降にワーニングが出力していたので、ワーニングが出力されていなかった場合に影響ありません。
- シリアル番号 00C900030000 以上の Armadillo IoT G4 と Armadillo X2 に搭載されている eMMC の不具合の対応として、boot パーティションの書込みを 8KB 以下に制限
- セキュアブートの暗号化のカーネルアップデートの場合に書込みの量が多いために多少遅くなりました。
- アップデートが失敗した際に書込みが失敗した面のデータを削除するように変更
- 容量不足で失敗していた場合に使用されていた容量をすぐに取り戻すようになります。
- base_os 以外の OS アップデート時にユーザーをコピーしないよう変更
-
swdesc_command --extra-os "userdel ..."
等が使用可能になります。
-
- swdesc_tar: --base-os オプションを追加
- base_os のアップデートを生成する際に使用できます。
abos-base (2.5-r0)
- abos-ctrl: 新規コマンド mount, certificates, update を追加
- abos-ctrl make-installer:
- 「だれでも使える鍵」が残っている場合に make-installer を実行できてしまう問題を修正
- エラーになる場合、 mkswu の initial_setup をインストールするか、新しい
abos-ctrl certificates remove-onetime
コマンドで削除してください。(Armadillo Base OS 3.18.4-at.5 以降での不具合)
- エラーになる場合、 mkswu の initial_setup をインストールするか、新しい
-
--output
でインストーラーをファイルに保存する場合は書込みに必要な容量を確認するように変更
- 「だれでも使える鍵」が残っている場合に make-installer を実行できてしまう問題を修正
- abos-ctrl rollback: Armadillo-640 の古い eMMC に対するワークアラウンドを追加
- persist_file: すでに削除したファイルを
-d
で指定する場合のエラーの修正
atmark-power-utils (1.2.6ーr0)
- aiot-catm1-alive: mmcli -m でモデム番号が 0 以外になった場合にも対応
- aiot-sleep: aiot-catm1-alive を 2 重起動しないようにチェックを追加
- aiot-sleep: sleep 前に LTE が接続していなくても LTE の接続設定あれば起床後再接続するように処理を変更
device-info (1.1.1-r0)
- help オプションの内容を修正
se05x-tools (1.2.0-r0)
- セキュアエレメントのアクセスに対する排他制御動作を追加
ATDE
debian package
- mkswu (6.1)
- Armadillo Base OS と同様のアップデート
VSCode Extension
- Armadillo Base OS Development Environment 1.8.2
- メニュー内の日本語表記に誤りがあった箇所を修正しました
ゲートウェイコンテナ (2.5.3)
- コンテナ内 se05x-tools のパッケージを 1.2.0 にアップデート
アップデート機能については製品マニュアルの アップデート機能について を参考にしてください。
Node-RED™コンテナ(1.1.1)
- コンテナ内 se05x-tools のパッケージを 1.2.0 にアップデート
セットアップ方法や開発方法についての詳細は Node-RED 開発ガイド をご確認ください。
※1 Node-REDは、OpenJS Foundationの米国およびその他の国における登録商標または商標です。