製品アップデート

Armadillo 製品アップデートのお知らせ (2024年5月/Armadillo-IoT G4/X2対象)

2024年5月29日16時00分

Armadillo-IoT ゲートウェイ G4およびArmadillo-X2のアップデートを行いました。

このリリースはダウンロードページからダウンロード可能です。

ドキュメント

Armadillo-IoT ゲートウェイ G4 製品マニュアル (v2.10.0)

  • 「3.7.5. コンテナに Armadillo の情報を渡す方法」 を追加
  • 「表 3.52. 組み合わせて使うパッケージ」 に audioplayers_elinuxを追加
  • 「図 4.10. 開発完了後のシステムをインストールディスクイメージにする」 の内容を最新に更新
  • 「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-X2 製品マニュアル (v2.10.0)

  • 「3.7.5. コンテナに Armadillo の情報を渡す方法」 を追加
  • 「表 3.42. 組み合わせて使うパッケージ」 に audioplayers_elinuxを追加
  • 「図 4.10. 開発完了後のシステムをインストールディスクイメージにする」 の内容を最新に更新
  • 「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「イメージのインストール(G4)」またはSWU「イメージのインストール(X2)」 を参考にしてください。

バージョン 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 ファイルのチェックサムを確認する仕組みを見直して不正なデータを展開する前に拒否するように改善する予定です。

  • linux (5.10.215 -> 5.10.218)

  • 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 に制限 (http/2 continuation 対応)

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=..." でバージョンを指定してください。
  • シリアル番号 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 以降での不具合)
    • --output でインストーラーをファイルに保存する場合は書込みに必要な容量を確認するように変更
  • abos-ctrl rollback: Armadillo-640 の古い eMMC に対するワークアラウンドを追加
  • persist_file: すでに削除したファイルを -d で指定する場合のエラーの修正

device-info (1.1.1-r0)

  • help オプションの内容を修正

se05x-tools (1.2.0-r0)

  • セキュアエレメントのアクセスに対する排他制御動作を追加

Flutter GUIデモコンテナ (1.3.6)

  • flutter-elinux 3.22.0 でビルドしたものに更新

ATDE

debian package

  • mkswu (6.1)
    • Armadillo Base OS と同様のアップデート
  • flutter-elinux (3.22.0)
  • flutter-elinux-plugins (1.0.4)
    • audioplayers プラグインを追加

上記のバージョンの flutter-elinux を使用する場合は VSCode Project も最新のものを使用してください。

VSCode Extension

  • Armadillo Base OS Development Environment 1.8.2
    • メニュー内の日本語表記に誤りがあった箇所を修正しました

VSCode Project

  • GUI Project 1.3.6
    • 依存パッケージをアップデート
    • グラフの「発電量」が「目標値」を下回った場合にアラート音が鳴るように対応
  • Signage Project 1.3.6
    • 依存パッケージをアップデート
  • Factory Signage Project 1.3.6
    • 依存パッケージをアップデート