FreeBSD bhyve、OpenSSL、GEOM 和 libfetch 的安全修復程序發布


一種所有受支持的 FreeBSD 版本都存在各種安全漏洞,應盡快應用。例如,bhyve 管理程序有一個內存損壞錯誤。另一個可以覆蓋 ggatec 的堆棧並執行任意代碼。此公告還修復了 OpenSSL 的兩個問題。 讓我們看看什麼以及如何修復 FreeBSD 中的這些安全漏洞。

好消息是針對 FreeBSD 版本 11、12 和 13 的 bhyve、openssl、GEOM 和 libfetch 版本。

FreeBSD 發布針對 bhyve、openssl、GEOM、libfetch 的安全修復程序

bhyve 管理程序設備模型中缺少錯誤處理。某些基於 VirtIO 的設備模型在獲取 I/O 描述符時無法處理錯誤。因此,惡意訪問者可能會導致此類錯誤。此外,因此,設備模型代碼可能會被欺騙使用未初始化的 I/O 向量,從而導致內存損壞。惡意來賓 VM 可能會使 bhyve 進程崩潰。可能會利用內存損壞漏洞在 bhyve 進程中執行任意代碼。

使用 ggatec 遠程執行代碼

FreeBSD 用戶可以使用 GEOM Gate 網絡設備 (ggated) 遠程使用磁盤、CD-ROM 和文件等設備。惡意門控服務器或網絡特權位置的攻擊者可以用精心製作的內容覆蓋堆棧並在 FreeBSD 機器上執行任意代碼。

libfetch 讀取超出範圍錯誤

libfetch(3) 是一個包含在 FreeBSD 中的多協議文件傳輸庫,供 fetch 命令、pkg 命令包管理器等使用。惡意 FTP 服務器可以控制連接緩衝區的大小。這是因為大小不斷增加,直到遇到換行符(或不再讀取字符)。這也允許將緩衝區移動到地址空間中更有趣的區域,從而潛在地允許攻擊者解析相關數字。

FreeBSD 中的多個 OpenSSL 漏洞

FreeBSD 操作系統包括來自 OpenSSL 項目的用於傳輸層安全 (TLS) 協議和加密庫的軟件。本公告修復了兩個問題。

如何將安全修復應用到 FreeBSD

沒有解決方法。但是,安全補丁已經發布。因此,易受攻擊的系統應該升級到受支持的 FreeBSD 穩定版本或 releng。

檢查 FreeBSD 版本和補丁級別號

打開終端應用程序並在您的 AWS 雲託管遠程服務器上從 FreeBSD shell 或 ssh 提示符運行以下命令:
$ uname -mrs
FreeBSD 13.0-RELEASE-p3 amd64
$ freebsd-version
13.0-RELEASE-p3

使用 freebsd-update 命令獲取並安裝更新,如下所示:
sudo freebsd-update fetch

Password:
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 2 mirrors found.
Fetching metadata signature for 13.0-RELEASE from update1.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 32 patches.....10....20....30. done.
Applying patches... done.
The following files will be updated as part of updating to
13.0-RELEASE-p4:
/bin/freebsd-version
/boot/kernel/kernel
/boot/kernel/virtio_blk.ko
/lib/libcrypto.so.111
/rescue/[
/rescue/bectl
/rescue/bsdlabel
....
..
......
/usr/lib32/libfetch_p.a
/usr/lib32/libssl.a
/usr/lib32/libssl.so.111
/usr/lib32/libssl_p.a
/usr/sbin/bhyve
/usr/sbin/hostapd
/usr/sbin/ntp-keygen
/usr/sbin/wpa_cli
/usr/sbin/wpa_supplicant

要安裝這些更新,請運行:
sudo freebsd-update install

重新啟動任何使用該庫的守護程序,或重新啟動系統。我決定使用 reboot 命令重啟 FreeBSD 服務器。
$ sudo reboot

確認

重啟後,讓我們檢查一下 FreeBSD 的版本。
$ freebsd-version

freebsd-security-notifications 驗證

如有必要,使用 pkg 命令將軟件包升級應用到您的 FreeBSD 系統(如果可用)。

$ sudo pkg update
$ sudo pkg upgrade

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.

有關更多信息,請參閱如何使用 pkg/freebsd-update 將安全更新應用到 FreeBSD。

添加

修復 FreeBSD 中的安全問題對於避免數據丟失或系統所有權錯誤至關重要。例如,我修補了我所有的 FreeBSD 13.x 機器。 訪問 FreeBSD 一般信息網站 對於 FreeBSD 安全公告,包括上述字段和安全分支的描述。