一種所有受支持的 FreeBSD 版本都存在各種安全漏洞,應盡快應用。例如,bhyve hypervisor 有一個內存損壞錯誤。另一個可以覆蓋 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 安全公告,包括上述字段和安全分支的描述。