Ubuntu Weekly Topics

Ubuntuにおける2038年問題との戦い⁠暗号化設定の調整⁠SmartNICとUbuntu

Ubuntuにおける2038年問題との戦い・暗号化設定の調整

Foundation Teamの開発レポートを見ると、いくつか興味深い作業を読み取ることができます。まず注目するべきはarmhf time_tという見出しのついた作業を、複数のエンジニアが進めている点です。これは内容からして「2038年問題への対応(32bit Arm⁠⁠」であろうことがわかります。この文脈で2038年問題について知っておくべきこととしては次の通りです。

  • 伝統的なUnix環境では、システム時刻はepoch time(1970年1月1日午前0時0分0秒)からの経過秒数で保持している。この系において、整数オーバーフローによる巻き戻りが発生すると、⁠時刻が突然1970年に巻き戻る」という事象を発生させることになる。これがいわゆる「2038年問題」である。
  • 典型的なシステムでは(そしてUbuntuでも)time_tが問題になる。これは暗黙でlongとイコールの長さを持ち、つまりはOS(≒CPU)の対応アーキテクチャに依存する。32bit環境では暗黙で32bitが利用され、かつ符号付き32bit整数型である。よって、無防備にtime_tを利用する32bit環境は「2038年問題を踏む」システムとなる。
  • armhf(ハードウェア浮動小数点処理機能を持つ32bit Arm)アーキテクチャは、この条件を満たしている。
  • そして「問題が起きる」タイミングは、⁠2038年になってから」ではなく『システム的に暦を扱っていて、2038年を取り扱うような場合』である。つまり、たとえば2028年に「10年後」を計算させる、あるいは指定するような処理をすると、問題に遭遇することがある。そして2028年まではあと5年しかない。

……ということで、⁠そろそろ2038年問題への対策を始めなければいけない」というのが2023年現在の現状で、開発者がいろいろな調査と対応を開始しているのが上記の報告の裏側にあるであろう事実です。さらにここから、いくつかのことを『深読み』することができます。

  • 2023年現在、パフォーマンス指向のArm SoCはArm64への全面的な移行を進めており、32bitモードは互換性目的や、なんらかの組み込み向けについて維持されている。一部は32bitモード(=armhf)互換性を捨てている。
  • つまり、⁠armhfでの2038年問題」というのが本格的な問題になるのは、やや特殊な市場向けである。
  • しかしCanonicalではこれらへの対応対応を進めている。
  • なんらかの特殊な市場に向けて、かつ、2038年問題を見据える必要があるようなものの開発が進められているかもしれない。

もちろんこれは深読みであって、⁠実際に何が目的なのか」を見切るには今後の展開を見守る必要があります。単に「22.04 LTSが2032年まで使われることを考えると、今のうちに対応しておく必要がある」というシンプルな話かもしれません。とはいえ、⁠少なくともLinuxディストリビューション側では、もはや2038年問題は『目の前にある課題』になりつつある」という点は覚えておく必要があると言えそうです。

またこれとは別に、systemdワイドの暗号化設定(特に通信系の暗号化強度の設定のほう)についての作業も進められており、crypto-policiesのsystemd実装への切り替えが計画されているように見えます。

SmartNICとUbuntu

6月13日にサンノゼで行われるSmartNIC SummitCanonicalが参加することが公開されています。

「SmartNIC」あるいは「DPU」を理解するには、仮想化環境に求められる機能を理解する必要があります。

古典的な仮想化環境では、⁠CPUに仮想化支援命令と、PCIパススルーをサポートするメモリマップ変換機能」だけがハードウェアに求められる要求でした。VT-xとVT-dといったキーワードがCPUの新機能としてもてはやされたのは昔のことで、現代のデスクトップCPUはたいていがこれらをサポートしています。

しかし近年では仮想化スタックに求められる機能が拡張され、⁠ネットワーク通信を(他の仮想マシンからは見られないように)暗号化したい」⁠他のホストに存在するストレージへI/Oしたい、できれば仮想化スタックを通さずにPCIパススルーでNVMe SSDにアクセスするような形で利用したい」といった要求が生じています。これらの問題を解決するために、現代的な「仮想化ホスト」では、SmartNIC、あるいはDPU(Data Processing Unit)と呼ばれる「高性能なSoCを搭載した拡張カード」の利用が前提になりつつあります。

たとえばENAMANAと呼ばれるクラウド上の仮想ネットワークデバイスではこうした技術による「ただのNICに見える、裏では複雑なネットワーク処理を行ってくれるデバイス」が用いられていますし、OpenStackのようなSoftware Defined Network環境で高度なネットワークスタックを扱い、適切に通信を保護するには、SmartNICへのオフロードは事実上必須です(CPUで処理すると「動くことは動くがパケット処理性能が足りない」という事態に遭遇します⁠⁠。また、DPUはSmartNICのようなネットワーク処理に限定されず[1]NVMe over Fabrics(NVMe-oF「ただのNVMe SSDに見える、しかし実際にはネットワーク越しにストレージノードにI/Oを行う抽象化されたストレージデバイス)のような形で、⁠仮想化環境の一部」の機能をオフロードするようにもなっています。

あまり全面的に宣伝されることはありませんが、Ubuntuは比較的以前からBluefield(NVIDIA製DPU)での動作が以前から示唆されており、この流れでの出展だろうと見ることができます。

出展の内容も、⁠このような文脈でUbuntuを利用することができます」というアピールなのですが、⁠Canonical LXD enables virtualization on smartNICs along with the host machines thus allowing workloads to be easily migrated from host to smartNICs.」⁠CanonicalのLXDを用いると、SmartNIC上で仮想マシンを簡単に扱うことができます。ホストのワークロードを簡単にSmartNIC上で処理できます)という、少しだけ風変わりな機能がアピールされています。

その他のニュース

今週のセキュリティアップデート

usn-6118-1:Linux kernel (Oracle)のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007405.html
  • Ubuntu 20.04 LTS・18.04 LTS用のアップデータがリリースされています。CVE-2022-3707, CVE-2023-0459, CVE-2023-1075, CVE-2023-1078, CVE-2023-1118, CVE-2023-1513, CVE-2023-2162, CVE-2023-32269を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6119-1:OpenSSLのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007406.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS・18.04 LTS用のアップデータがリリースされています。CVE-2023-1255, CVE-2023-2650を修正します
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:アップデータを適用の上、システムを再起動してください。

usn-6120-1:SpiderMonkeyのセキュリティアップデート

usn-6121-1:Nanopbのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007408.html
  • Ubuntu 20.04 ESM用のアップデータがリリースされています。CVE-2020-26243, CVE-2021-21401を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6111-1:Flaskのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007409.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-30861を修正します。
  • 悪意ある操作を行うことで、本来秘匿されるべき情報へのアクセスが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6123-1:Linux kernel (OEM)のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007410.html
  • Ubuntu 22.04 LTS用のアップデータがリリースされています。CVE-2023-1670, CVE-2023-2612, CVE-2023-26606, CVE-2023-30456, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6124-1:Linux kernel (OEM)のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007411.html
  • Ubuntu 22.04 LTS用のアップデータがリリースされています。CVE-2022-3586, CVE-2022-4139, CVE-2023-1670, CVE-2023-2612, CVE-2023-30456, CVE-2023-32233用のアップデータがリリースされています。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6122-1 Linux kernel (OEM):のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007412.html
  • Ubuntu 22.04 LTS用のアップデータがリリースされています。CVE-2023-2612, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6117-1:Apache Batikのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007413.html
  • Ubuntu 22.10・22.04 LTS・20.04 LTS・18.04 LTS・16.04 ESM・14.04 ESM用のアップデータがリリースされています。CVE-2019-17566, CVE-2020-11987, CVE-2022-38398, CVE-2022-38648, CVE-2022-40146, CVE-2022-41704, CVE-2022-42890を修正します。
  • 悪意ある入力を行うことで、XSS・サーバー上のファイルへのアクセス・任意のJavaコードの挿入と実行が可能でした。
  • 対処方法:アップデータを適用の上、システムを再起動してください。

usn-6125-1:snapdのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007414.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS・18.04 LTS・16.04 ESM用のアップデータがリリースされています。 CVE-2023-1523を修正します。
  • 悪意あるSnapイメージによるサンドボックス迂回が可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6126-1:libvirtのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007415.html
  • Ubuntu 23.04・22.10・22.04 LTS用のアップデータがリリースされています。CVE-2022-0897, CVE-2023-2700を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:アップデータを適用の上、システムを再起動してください。

usn-6127-1:Linux kernelのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-May/007416.html
  • Ubuntu 22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-1380, CVE-2023-2612, CVE-2023-30456, CVE-2023-31436, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6128-1, usn-6128-2:CUPSのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007417.html
  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007418.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS・18.04 LTS・16.04 ESM用のアップデータがリリースされています。CVE-2023-32324を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6129-1:Avahiのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007419.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-1981を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6131-1:Linux kernelのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007420.html
  • Ubuntu 20.04 LTS・18.04 LTS用のアップデータがリリースされています。CVE-2023-1380, CVE-2023-2612, CVE-2023-30456, CVE-2023-31436, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6132-1:Linux kernelのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007421.html
  • Ubuntu 20.04 LTS・18.04 LTS用のアップデータがリリースされています。CVE-2022-3707, CVE-2023-0459, CVE-2023-1075, CVE-2023-1078, CVE-2023-1118, CVE-2023-1380, CVE-2023-1513, CVE-2023-2162, CVE-2023-2612, CVE-2023-30456, CVE-2023-31436, CVE-2023-32233, CVE-2023-32269を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6130-1:Linux kernelのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007422.html
  • Ubuntu 18.04 LTS・16.04 ESM・14.04 ESM用のアップデータがリリースされています。CVE-2023-1380, CVE-2023-30456, CVE-2023-31436, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6134-1:Linux kernel (Intel IoTG)のセキュリティアップデート

usn-6133-1:Linux kernel (Intel IoTG)のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007424.html
  • Ubuntu 22.04 LTS用のアップデータがリリースされています。CVE-2022-27672, CVE-2022-3707, CVE-2023-0459, CVE-2023-1075, CVE-2023-1078, CVE-2023-1118, CVE-2023-1513, CVE-2023-1829, CVE-2023-1872, CVE-2023-20938, CVE-2023-2162, CVE-2023-32269を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6135-1:Linux kernel (Azure CVM)のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007425.html
  • Ubuntu 22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-1380, CVE-2023-2612, CVE-2023-30456, CVE-2023-31436, CVE-2023-32233を修正します。
  • 対処方法:アップデータを適用の上、システムを再起動してください。
  • 備考:ABIの変更を伴いますので、カーネルモジュールを自分でコンパイルしている場合は再コンパイルが必要です。カーネルモジュール関連のパッケージ(標準ではlinux-restricted-modules, linux-backport-modules, linux-ubuntu-modulesなど)は依存性により自動的にアップデートされるため、通常はそのままアップデートの適用を行えば対応できます。

usn-6112-2:Perlのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007426.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-31484を修正します。
  • usn-6112-1の23.04・22.10・22.04 LTS・20.04 LTS用パッケージです。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6136-1:FRRのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007427.html
  • Ubuntu 23.04・22.10・22.04 LTS用のアップデータがリリースされています。CVE-2023-31489, CVE-2023-31490を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6137-1:LibRawのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007428.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2021-32142, CVE-2023-1729を修正します。
  • 悪意ある加工を施したファイルを処理させることで、メモリ破壊を伴うクラッシュを誘発することが可能でした。任意のコードの実行・DoSが可能でした。
  • 対処方法:アップデータを適用の上、システムを再起動してください。

usn-6138-1:libsshのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007429.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS用のアップデータがリリースされています。CVE-2023-1667, CVE-2023-2283を修正します。
  • 悪意ある入力を行うことで、メモリ破壊を伴うクラッシュを誘発することが可能でした。任意のコードの実行・DoSが可能でした。また、書名を適切に検証しない問題がありました。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6139-1:Pythonのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007430.html
  • Ubuntu 23.04・22.10・22.04 LTS・20.04 LTS・18.04 ESM・16.04 ESM・14.04 ESM用のアップデータがリリースされています。CVE-2023-24329を修正します。
  • URLに対するブロックリストが適切に機能しない場合がありました。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6140-1:Goのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007431.html
  • ubuntu 23.04・22.10用のアップデータがリリースされています。CVE-2022-41724, CVE-2022-41725, CVE-2023-24534, CVE-2023-24537, CVE-2023-24538, CVE-2023-24539, CVE-2023-24540, CVE-2023-29400
  • 悪意ある入力を行うことで、DoSが可能でした。また、文字入力のエスケープ不足により、GoテンプレートへのJavaScriptとHTMLの挿入・任意のCSSの挿入が可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6141-1:xfce4-settingsのセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007432.html
  • Ubuntu 22.10・22.04 LTS用のアップデータがリリースされています。CVE-2022-45062を修正します。
  • 悪意ある加工を施したファイルを処理させることで、xdg-open時に期待と異なる引数を追加することが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

usn-6142-1:nghttp2のセキュリティアップデート

  • https://lists.ubuntu.com/archives/ubuntu-security-announce/2023-June/007433.html
  • Ubuntu 20.04 LTS・18.04 ESM・16.04 ESM用のアップデータがリリースされています。CVE-2020-11080を修正します。
  • 悪意ある入力を行うことで、DoSが可能でした。
  • 対処方法:通常の場合、アップデータを適用することで問題を解決できます。

おすすめ記事

記事・ニュース一覧