FreeBSD/arm 13.2: Raspberry Pi2 ソースコードのbuildworld をしてみた

Raspberry Pi 2 に 32bit FreeBSD/arm 13.2 をインストール後の、セキュリティー対策のメモ。
FreeBSD13.2 がリリースから現時点に至るまでに何個かの脆弱性が報告され、64bit FreeBSD ではFixするためのパッチがリリースされましたが、32bit OSではソース対応。

一昨日から、ソースビルドを始め、昨日セキュリティー対策されているはずのカーネルをビルドしてインストールしました。

その結果、今朝届いたセキュリティーレポートから、OSが受け持つ脆弱性は解決したものの、次の脆弱性はそのまま。

脆弱性が含まれているのが、カーネルじゃなく、コマンドなので、当然といえば当然。

FreeBSD-13.2 is vulnerable:
  FreeBSD -- Network authentication attack via pam_krb5
  CVE: CVE-2023-3326
  WWW: https://vuxml.FreeBSD.org/freebsd/9b0d9832-47c1-11ee-8e38-002590c1f29c.html

  FreeBSD -- Potential remote code execution via ssh-agent forwarding
  CVE: CVE-2023-38408
  WWW: https://vuxml.FreeBSD.org/freebsd/291d0953-47c1-11ee-8e38-002590c1f29c.html

  FreeBSD -- bhyve privileged guest escape via fwctl
  CVE: CVE-2023-3494
  WWW: https://vuxml.FreeBSD.org/freebsd/ab437561-47c0-11ee-8e38-002590c1f29c.html

  FreeBSD -- Network authentication attack via pam_krb5
  CVE: CVE-2023-3326
  WWW: https://vuxml.FreeBSD.org/freebsd/41af0277-47bf-11ee-8e38-002590c1f29c.html

4 problem(s) in 1 installed package(s) found.

こっちは、主に /sbin や /usr/sbin などに含まれるコマンド全部を新しいコードで作り直すしか、コマンド準備されていない模様。または、脆弱性があるファイルを特定してそれだけビルド、インストールし直すか。予想される結果だったので、カーネル更新後、すぐに、次のビルドを始めて、make buildworld を行っていました。-j4 で約18時間、インストール installworld に15分くらい。

ソースからアプリケーションバイナリーをビルドする作業は、過去、何度もやってきましたが、FreeBSD OS全体をビルドし直して成功したのは初めて。非常にスムーズで、必要だったのは時間だけ。

そして最後の大仕事。ここで起動に失敗したら意味がない。
RPI2を再起動したところ、無事にFreeBSD 13.2 が立ち上がってきました。あとは、上記のセキュリティー脆弱性が解決されるかどうか。

翌朝到着したセキュリティーレポートを見てみると、上記の脆弱性レポートは無くなっており、ソースレベル更新を行っているホストに脆弱性レポートが届いた後、行うべき作業内容を確認できました。一応この流れで良さそう。

13.2 → 13.3 の更新手順もソースレベルでやるの?と考えると、ちょっとやり方を考える必要がありますけどね。

コメントを残す