OpenBSD 8.0 リリース
要約
OpenBSD 8.0が2026年10月20日にリリースされました。このバージョンでは、amd64、arm64、riscv64などのプラットフォーム固有の改善、サスペンド/ハイバネーション機能の強化、Direct Rendering Manager (DRM) およびグラフィックスドライバーの更新、VMM/VMDの機能拡張、多数のユーザーランド機能の追加、そしてハードウェアサポートとネットワークドライバーの改善が含まれています。
全文翻訳
OpenBSD 8.0
2026年10月20日リリース。(第61回OpenBSDリリース)
Copyright 1997-2026, Theo de Raadt.
8.0 Song: "The Simps on AI"
Artwork by yvaneht nioj and clanker.
-
ミラーマシンのリストについては、FTPページの情報を参照してください。
-
ミラーサイトの
pub/OpenBSD/8.0/ディレクトリにアクセスしてください。 -
バグと回避策のリストについては、8.0 errataページをご覧ください。
-
7.9リリースと8.0リリースの間の変更点の詳細ログを確認してください。
-
このリリースのsignify(1) pubkeys:
openbsd-80-base.pub:
RWSMSt0erHTctUxq2JDAgQRo64ztikp8JvQeiSPte3NZ0Geou0TkTEiE
openbsd-80-fw.pub:
RWRjzXzC89s1iQC9P3xgcdeN6OUoJz9t7ggTY0xBb1W8PfeOzAdwod66
openbsd-80-pkg.pub:
RWRspL7ERnSFIscdEvBwVySymWNopP+CEZHbaB3IMJIt0bUXGBuIfUqC
openbsd-80-syspatch.pub:
RWQAeCccO9yAASmUJSCJEW9C5WOP/GAsa5dhMtPPmb5pehzPO7EAmqhK
適用されるすべての著作権およびクレジットは、src.tar.gz、sys.tar.gz、xenocara.tar.gz、ports.tar.gz ファイル、または ports.tar.gz 経由で取得されたファイルに含まれています。
新機能
これはOpenBSD 8.0に含まれる新機能とシステムの概要です。包括的なリストについては、8.0に至るまでの変更履歴を参照してください。
- プラットフォーム固有の改善点:
- amd64:
- amd64カーネル仮想アドレス空間のサイズを4GBから512GBに引き上げました。
- pmap(9) のダイレクトマップがランダムな場所に配置されるようになりました。
- AES CPU命令を使用してスワップ暗号化を高速化しました。
- arm64:
- ハイバネーションサポートを追加しました。
- AES CPU命令を使用してスワップ暗号化を高速化しました。
- バウンスバッファを実装しました。
- luna88k:
- m88kの複数のCMMUレジスタ書き込みを修正しました。
- m88kカーネルモードCMMUフォルトハンドリングを拡張し、書き込み保護フォルトを処理できるようにしました。
- luna88kのm8820x_initialize_cpu()が非MPカーネルで論理CPU #0を初期化することを確認しました。
- luna88kのm8820x_cpu_number()でのCMMUウォークを高速化しました。
- riscv64:
- sparc64:
- sparc64リロケーションフラグテーブルの境界チェックを追加しました。
- sparc64をLLVMツールチェーンに切り替えました。
- SPARCV9でのメモリアライメントを改善しました。
- その他のアーキテクチャ:
- loongsonアーキテクチャのサポートを廃止しました(Clang 22で動作しないため)。
- LLVMのRISC-VおよびMIPSの様々なバグ修正。
- hppa保護ビットのエンコーディングを修正しました。
- その他のプラットフォーム固有の変更については、以下のハードウェアサポートセクションを参照してください。
- amd64:
- 様々なカーネルの改善点:
- open_wmemstream(3)でのメモリサイズ計算を修正しました。
- semop(2)セマフォIDがコンテキストスイッチ中に破棄/置換される問題を修正しました。
- ページングデーモンによるページのページング/メモリ解放のための非アクティブページキューのヒューリスティックを改善しました。
- getexecpath(3)を追加し、elf(5)プログラムの実行パスのコピーを提供できるようにしました。
- より大きなディスクラベルへの対応のための準備を進めました。
- サスペンド/ハイバネーションサポート:
- qwz(4)のサスペンド/レジュームを有効にしました。
- Samsung Galaxy Book4 EdgeおよびHONOR MagicBook Art 14 Snapdragonでufshci(4)がサスペンドを生き残れるようにしました。
- machdep.lidaction=0の場合に、ラップトップがサスペンド中に蓋が閉じられたときにスリープ解除されるのを停止しました。
- ハイバネーションと「通常の」サスペンドを区別するためのグローバルスリープモード変数を追加しました。
- qcuart(4)のサスペンド/レジュームサポートを追加しました。
- bytgpio(4)にウェイクアップ割り込みサポートを追加し、IdeaPadがサスペンドから復帰する問題を修正しました。
- ディスクイメージのハイバネーション展開中にpigletにコピーされるチャンクのサイズを検証します。
- ハイバネーション解除時にチャンクを読み取る際のディスクイメージサイズを整数オーバーフローに対して検証します。
- ハイバネーション解除時にチャンクテーブルを読み取る際のディスクイメージの読み取りすぎを防ぎます。
- ハイバネーション解除後にフレームバッファをクリーンアップします。
- nvme(4)ハイバネーションサポート用の専用キューの割り当てに失敗しても致命的にならないようにしました。
- Direct Rendering Managerおよびグラフィックスドライバ:
- drm(4)をLinux 6.18.53に更新しました。
- inteldrm(4)でのIntel Arc A-Series (DG2/Alchemist)グラフィックスカードのサポート。
- amd64でのカーネル仮想アドレス空間の増加により、4GBを超えるVRAMのマッピングが可能になりました。
- 一部のAlder Lakeシステムで見られるinteldrm(4) GuCタイムアウトエラーの回避策。
- VMM/VMDの改善点:
- 最大64個のVCPUをゲストVMごとにサポートするMPサポートを追加しました。
- VM所有権を管理するためにファイルを使用するように再設計しました。
- ゲスト仮想マシン用のx2apicモードサポートを追加しました。
- vmd(8)が起動時にカーネルを検出しない場合の修正。
- vmm(4)からのMMIO出口に対して、フォルト発生GPAをvmd(8)に提供します。
- vmm(4)の出口処理をリファクタリングし、RIP調整を修正しました。
- vmm(4)で可変長命令のVMXパスをサポートしました。
- vmd(8)が、不正なelf(5)ファイルを持つ32ビットおよび64ビットelf(5)ローダーでOOB読み取りを行うのを防ぎます。
- 32ビットLinuxゲストのvmd(8)サポートを修正するために、欠落していたlapic/ioapicモードを実装しました。
- vmd(8)ゲスト用のチェックサムオフロードを追加しました。
- MSI/MSI-X virtioデバイス割り込みサポートを追加しました。
- vmd(8)で実際に分割されたvirtqueueをサポートしました。
- vmd(8)にi82093aa ioapicおよびi82489dx互換lapicエミュレーションを追加しました。
- qcow処理を改善しました。
- 様々な新しいユーザーランド機能:
- netstat(1)がインターフェースマルチキャストカウンタを出力できるようになりました。「-q」をより具体的にしました。
- ddb(4)のデフォルト「ps」出力を調整し、「struct process」と「struct proc」を別々に表示するようにしました。
- mount(8)が-uオプションでDUIDをサポートするようになり、ファイルシステム更新時にDUIDを保持するようにしました。
- sndioctl(1)でmidithruポートを制御できるようにしました。
- sndioctl(1)でリスト要素の追加または削除を許可しました。
- sndiod(8)のserver.mode制御を追加し、設定を動的にし、sndioctl(1)経由で変更できるようにしました。
- その他のユーザーランドのバグ修正と調整:
- elf(5)ヘッダーとプログラムヘッダーがロード時に共有ライブラリに収まることを保証しました。
- getpwent(3) yp_next()でのキーメモリのリークを修正しました。
- patch(1)で、不正なed(1)スクリプト入力に対する無限ループを解決しました。
- authpf(8), pflogd(8), ldapd(8), ldpd(8), lpd(8), radiusd(8), snmpd(8)でexecv(3)の絶対パスを使用するようにしました。
- uaudio(4)は、報告されたフォーマットとチャンネルが使用可能かどうかをテストするようになりました。
- sndiod(8)が、MIDIエンドポイントが非空バッファで接続した場合にアボートするのを停止しました。
- sndiod(8)のfile_new()の戻り値の2つのチェック漏れを修正しました。
- npppd(8) LCP MRUオプションハンドリングを修正しました。
- pstat(8)を調整し、セッションリーダープロセスのpidを返すようにしました。「-t -M」が機能するようにしました。
- eigrpd(8)がプレフィックス長を検証してオーバーフローを防ぐようにしました。
- sndiod(8)がすべてのmidithru構造体をヒープに割り当てるようにしました。
- ハードウェアサポートとドライバのバグ修正の改善、以下を含む:
- Samsung Galaxy Book4 EdgeのGXTP7936タッチスクリーンの有効化。
- riscv64 K3 PCIe/USB3コンボPHYのサポートを追加しました。
- riscv64でのgpioleds(4)の有効化。
- smte(4) (SpacemiT K1 Ethernetデバイス)で、受信パケットのエラーチェックを改善しました。
- SpacemiT K1 SoCでの通常のMSI割り込みを修正しました。
- SpacemiT K3 SoCのsmtclock(4)サポートを追加しました。
- SC7280をqcgpio(4)に追加しました。
- SpacemiT K3 dwpcie(4) PCIeコントローラーのサポートを追加しました。
- Radxa E24Cで使用されるRK3528 I2C5クロックを追加しました。
- Qualcomm Glymur (X2) SoCのACPIハードウェアIDを追加しました。
- apldart(4)でのページテーブルミラーリングを実装し、Apple USBコントローラーのIOMMUを有効にしました。
- Samsung Advanced BIOS Interface (SABI) 用の新しいsamsabi(4)ドライバ。
- Samsungラップトップバッテリーモニター用の新しいsambat(4)ドライバ。
- Rockchip OTPメモリ用の新しいrkotp(4)ドライバ。
- Radxa Zero 3ボードのCPU電圧に使用されるRK8600レギュレータのサポートを追加しました。
- AMD "Krackan Point" デバイスIDを追加しました。
- HONOR MagicBookタッチパッドのマルチタッチサポートを修正しました。
- esp(4) FIFOメモリオーバーフローを修正しました。
- softraid(4)リビルドでの潜在的なメモリリークを修正しました。
- 4096バイトセクタを持つディスクでのsoftraid(4)リビルドを修正しました。
- 64ビットDMA対応re(4)の高メモリmbufを修正しました。
- 新規または改善されたネットワークハードウェアサポート:
- 追加または改善された無線ネットワークドライバ:
- qwx(4)ハードウェアから返される可能性のある空パケットの処理を改善しました。
- qwx(4) SRNG DMAディスクリプタメモリの欠落していたDMA同期を追加しました。
- アタッチ時にqwx(4) VIF DMAマップ割り当ての失敗を適切に処理します。
- qwx(4) vifリストでの古いポインタの使用によるクラッシュを修正しました。
- qwx_init()でRUNNING状態を取得できなかった場合に、qwx(4)ドライバとデバイスの状態を適切にリセットします。
- 電源投入中のqwx(4)デバイスでの競合状態を回避します。
- qwx_activate()でのioctl rwlockを正しく使用します。
- qwx(4) rx_ring->bufs_maxおよびfreemapが常に正しく初期化されることを保証します。
- qwx(4) initタスクがioctlロックが利用可能になるのを待機するのを停止しました。
- qwx_qmi_fw_init_done()で発生するエラーをqwx(4)が適切に処理するようにしました。
- qwx(4)でのAP間のローミングを修正しました。
- インターフェースがUPの間は常にqwx(4)でデータフレーム割り込みを許可します。
- qwx(4)で40MHzチャネルをサポートしました。
- qwx(4)が、空きRxリングスロットが利用可能な場合にのみ新しいmbufを割り当てるようにしました。
- qwx(4)で割り込みコンテキストからbus_dmamap_create()を呼び出すのを回避します。
- qwx(4)ファームウェアから送信される国コードイベントを処理し、アソシエーションをより信頼性の高いものにします。
- コマンドリングがリセットされたときに、qwx(4)コマンドリングの'queued'カウンタをリセットします。
- net80211状態を切り替える際に、qwx(4) nqフラグが常にクリアされることを保証します。
- qwx(4) mac設定で設定されたtx/rxストリームの数を修正しました。
- qwx(4)がRUN状態からホップアウトする際に、PMFグッバイデアソシエーションフレームを送信するようにしました。
- qwx_stop()でIFF_RUNNING中の新しいタスクのスケジュールを停止します。これによりqwz(4)のクラッシュを防ぎます。
- qwx(4)がスキャンツリーでephemeralノードよりもic_bssを優先するようにしました。
- vdevを開始した後(それより前ではない)にqwx(4)ファームウェアにピアを追加します。これによりファームウェアのクラッシュが修正されます。
- qwx(4)に802.11nサポートを追加しました。HT機能とHT/QoSピアアソシエーションを通知します。
- デバイスをリセットする前に、qwx(4)ファームウェアにM3状態に移行するように要求します。
- qwx(4)で割り込みコンテキストからbus_dmamap_destroy()を呼び出すのを回避します。
- qwz(4)に40MHz幅の802.11nサポートを追加しました。
- ネイティブWiFiフレームでqwz(4)がQoSを処理できるようにしました。
- インストーラー、アップグレード、ブートローダー、pkg-toolsの改善点:
- pkg_add(1), sysupgrade(8), およびsyspatch(8)でのinstallurl(5)ハンドリングを統一しました。
- fw_update(8)による不正なファイル名に対する空き容量チェックを修正しました。
- fw_update(8)がダウンロードできるファイルサイズに制限を設定しました。
- fw_update(8)で、信頼されていないコメントをデータとして扱わないように、より厳密な検証を行いました。
- pkg_add(1)は、マージセットでの無限ループを検出し、克服できるようになりました。
- fw_update(8)のFWURLから末尾のスラッシュを削除しました。
- デフォルトのpkg_add(1)検索パスからカレントディレクトリを削除しました。
- fw_update(8)でのファイル名によるファームウェアダウンロードを改善しました。
- fw_update(8)で、SHA256.sigが見つからない場合のエラーメッセージを改善しました。
- fw_update(8)は、ローカルのSHA256.sigの署名をチェックするようになりました。
- fw_update(8)で、tar(1)が期待される場所の外にあるファイルをスキップするようにしました。
- syspatch(8)が、潜在的なアップデートを探す際にtgzファイル全体をダウンロードするのを停止しました。
- セキュリティ改善:
- vfs(9)でのpledge(2)のバグを修正しました。
- aplmca(4) SoCでの境界外アクセス試行を修正しました。
- 様々なユーティリティでの非標準UID_MAXおよびGID_MAXの使用を停止しました。
- ipsec(4) AES GMAC暗号を改善しました。
- iked(8)が不正な形式および状態外のIKEv2メッセージを拒否するようにしました。
- x509_verifyでのメモリリークを修正しました(CID 656293)。
- sysctl(2) KERN_PROC_ARGSでのオーバーフローを防ぎます。
- dhcpd(8)が不正または悪意のあるiaddrデータによってクラッシュするのを防ぎます。
- dhcpd(8)でのDHCPINFORMによる潜在的なメモリ枯渇を回避します。
- libcrypto RSA-PSSでsaltlenおよびmin_saltlenを正しく使用します。
- libcrypto x509で無効なデルタCRLを拒否します。
- libcryptoのパス検証でRFC 3779継承ハンドリングを修正しました。
- ld.so(1)で$ORIGINとしてexecve(2)を使用します(それ以外の場合はrealpathにフォールバック)。
- syspatch(8)を悪意のあるスクリプトに対して強化しました。
- smtpd(8)環境およびmdaを通過できる文字を制限します。
- pax(1)によるNULを読み越した読み取りを修正しました。
- pax(1)が悪意のあるアーカイブを作業ディレクトリ外に展開するのを停止しました。
- lldpd(8)のpledge(2)に「mcast」を追加しました。
- pledge_sockopt()のレベル/optnameチェックを、異なるタイプのソケットに対してより厳密にしました。
- Ethernetフレームソケットでのマルチキャスト調整を許可するように、「mcast」pledge(2)を拡張しました。
- libexpatをバージョン2.8.4に更新しました(CVE-2026-66046, CVE-2026-76641, CVE-2026-76957)。
- vnodeが変更された場合に、exec時のスクリプトパス名TOCTOUを回避します。
- execve(2)のrealpath処理をより堅牢にしました。
- luna88kを-fno-pieでカーネルファイルをビルドするように切り替えました。
- m88k 88100データパイプラインから特権なしカーネルメモリ読み書き脆弱性を削除しました。
- unveil(2)は、man(1), makewhatis(8), およびman.cgi(8)の読み書きアクセスを制限するようになりました。
- dhcpleased(8)は、DHCPサーバーがACKするIPアドレスを検証するようになりました。
- perl(1) Storableでの符号付き整数オーバーフローを修正しました(CVE-2026-57433)。
- perl(1) packおよびunpackでの整数オーバーフローを修正しました(CVE-2026-57432)。
- perl(1)の正規表現マッチングの誤りを修正しました(CVE-2026-13221)。
- profil(2)でのメモリリークと競合状態を修正しました。
- elf(3)ノートのチェックを改善し、境界外アクセスを防ぎます。
- ロード可能なセグメントを持たないelf(3)インタープリタを拒否します。
- exec_elf_makecmds()内の静的バイナリに対してkbind(2)およびpinsyscalls(2)を無効にしました。
- elf(5)構造体を修正し、カーネルスタックの内容のリークを防ぎます。
- LibXfont 2の修正(CVE-2026-56001, CVE-2026-56002, CVE-2026-56003)。
- Xserver(1)の修正(CVE-2026-55999, CVE-2026-56000)。
- perl(1) Socketを2.041に更新しました(CVE-2026-12087、境界外ヒープ読み取りの修正を含む)。
- iked(8)がマスクデータ構造をbzero(3)するように修正しました(mask4を使用する代わりに)。
- nsd(8)でCVE-2026-12244, CVE-2026-12245, CVE-2026-12246, CVE-2026-12490の修正。
- isakmpd(8)のエラーパスudp_encap_handle_message()でのトランスポートリークを停止しました。
- isakmpd(8) ipsec_validate_id_information()で、IDペイロードのサイズを強制します。
- memmem(3)およびstrstr(3)でのシフトオーバーフローを回避します。
- isakmpd(8)での複数の追加境界チェック。
- 権限分離のため、syslogd(8)親用に別の実行可能ファイルを提供します。
- smtpd(8)がimsgを送信する前にuserinfoをクリアするようにしました。
- smtpd(8)が、privsep IPC経由で受信した過剰なsockaddrペイロードを拒否するようにしました。
- privsepを強化するため、smtpd(8)の一時的なエンベロープ解析バッファをゼロクリアしてから使用します。
- より強力なsmtpd(8) privsepのため、テイクダウン時に保留中の非同期ルックアップをクリアします。
- 初期化されていないktrace(1)スタック変数からの潜在的な情報漏洩を修正しました。
- ネットワークスタックの新機能:
- ネットワークスタックのさらなる変更とバグ修正:
- ipsec(4)がIPヘッダーの最大パケットサイズを超えないようにしました。
- bpf(4) bpf_memバックエンドでの整数オーバーフローによる境界外読み取りを検出します。
- 送信パスの後段にbpf(4)を移動しました。
- tun(4) tun_dev_write()でのmbufチェーン割り当て失敗時のメモリリークを回避します。
- ixl(4)でのhardmtuとrxmaxを修正しました。
- iwx(4)での動的なチャネル幅変更を正しく処理します。
- bpf(4) bpf_filterを強化し、bpf_validateで未処理の命令をブロックします。
- bpf(4)エンジンに適切なプログラム境界チェックを追加しました(libpcap CVE-2026-31912)。
- ppp(4)でのbpfフィルタ呼び出しを修正し、bpf_mfilter(9)を使用するようにしました。
- ospfd(8)でのLS_UPD, LS_FLOOD, LS_SNAPのimsgハンドリングを改善しました。
- ospfd(8)のimsgハンドリングを変更しました。
- ospfd(8)は、欠落しているrtlabel参照を追加し、ラベルのみが変更された場合にルートを更新するようになりました。
- ospf6d(8)リンク更新時に設定されたインターフェースタイプを保持します。
- ospfd(8)がプロセスのメモリアドレスレイアウトに関する情報をリークしないことを保証します。
- authpf(8) read_config()が末尾の空白を削除し、誤設定を防ぐようにしました。
- veb(4) SIOCBRDGRTSおよびSIOCBRDGVRTS ioctlでのカーネルスタックデータリークを修正しました。
- veb(4)でのパケット破損を修正しました。
- veb(4)は、veb_rule_list_get()でmallocarray()が失敗した場合にENOMEMを返すようになりました。
- ifconfig(8)の「vebX -tagged ifX」が多すぎる引数を受け付けていたのを修正しました。
- em(4) K1出口タイムアウトを改善し、非ブロードキャストパケットを受信できるようにしました。
- em(4)でのMACタイプテストを簡素化しました。
- pf(4)ファイアウォールへの以下の変更点:
- pf(4) ioctl DIOCIGETIFACESでのオフバイワンエラーを修正しました。
- テーブルのアタッチに失敗した場合に、pf(4)呼び出し元のルールセットを解放しないようにしました。
- pf(4) ioctlで終端されていない文字列を許可しなくなりました。
- ソースアドレスが指定されていない有効なMLDパケットをpf(4)がドロップするのを停止しました。
- 作成されたリセットパケットを受信した場合に、pf(4)がTCP状態をドロップするのを防ぎます。
- pf(4)接続カウンタでの競合状態を修正し、接続カウンタのアンダーフローを引き起こしていました。
- pf(4)/inet(4)/inet6(4)でのフラグメント再アセンブリが正しいルーティングドメインで行われるようになりました。
- 「pfctl -s all」がロードされたすべてのOSフィンガープリントをpf(4)にダンプするのを停止しました。
- pf(4)のアウトバウンドパケットパスでのNULLポインタ逆参照を修正しました。
- pf(4) pf_rule_copyin()での境界外読み取りを修正しました。
- ルーティングデーモンおよびその他のユーザーランドネットワークプログラムに以下の改善が施されました:
- LLMスキャナーからの偽のバグレポートを回避するために、smtpd(8)コードを変更しました。
- agentx(3)およびsnmpd(8)での不正なパケットに対するsize_tアンダーフローを防ぎます。
- httpd(8)サーバーフラグを64ビット整数に拡張しました。
- httpd(8)は、fastcgiに渡されるチャンク化リクエストに対して「最大リクエストボディ」を強制するようになりました。
- httpd(8)が、異なるクライアントCAまたはCRLを持つ共有TLSリスナーの設定を拒否するようにしました。
- httpd(8)では、設定順序を保持するために、パラメータごとに1つのimsg fastcgi param構造体を送信するようになりました。
- httpd(8)にカスタムHTTPヘッダーサポートを追加しました。
- httpd(8)のサフィックス範囲ハンドリングを修正しました。
- httpd(8)がロケーションfcgiparamsを2回送信するのを停止しました。
- httpd(8)がエラーが切り捨てられるのを防ぐため、bufferevent経由でアボートレスポンスをドレインするようにしました。
- iked(8), httpd(8), relayd(8), およびsnmpd(8)で、IMSG_CTL_PROCFDを親に制限し、プロセスID/インスタンスをチェックするようにしました。
- httpd.conf(5)のデフォルトTLSサイファーセットを「compat」から「secure」に変更しました。
- httpd(8)およびdhcpd(8)がtimegm(3)のエラーチェックを正しく行うようにしました。
- 起動時にsmtpd(8)およびhttpd(8)をランダムリリンクします。
- httpd(8)は、CL.TEリクエストフレーミング(RFC 9112セクション6.1および6.3準拠)を拒否するようになりました。
- httpd(8)がobs-foldを400で拒否するようにしました(RFC 9112 5.2)。
- httpd(8)のチャンク転送エンコーディングを使用したアップロードを修正しました。
- gzip-staticが有効な場合、httpd(8)はVary: Accept-Encodingを通知するようになります。
- httpd(8)が静的ファイルの再検証を通知し、Last-ModifiedおよびIf-Modified-Sinceフローを保持するようにしました。
- relayd(8)にさらに設定チェックを追加しました。
- リロード後にrelayd(8)リダイレクトルールを明示的にフラッシュします。
- relayd(8)で、ルーターの無効フラグを誤って削除しました。
- relayd(8)で、ホストごとのランダムICMPエコーIDを使用します。
- relayd(8)フィルタールールにLua patterns(7)サポートを追加し、glob(7)ドキュメントを改善しました。
- bgpd(8) eigrpd(8), httpd(8), iked(8), ntpd(8), relayd(8), およびsmtpd(8)でgetexecpath(3)およびexecv(3)を使用します。
- relayd(8)接続遅延ログを修正しました。
- relayd(8)がproc_composeおよびimsg_compose_eventの戻り値をチェックするようにしました。
- relayd.conf(5)からログレベルを設定できるようにしました。
- relayd(8) CA privsepエンジンにECDSAサポートを追加しました。
- relayd(8)は、重複したContent-Lengthヘッダーを400で拒否するようになりました。
- relayd.conf(5)のデフォルトTLSサイファーセットを「HIGH:!aNULL」から「secure.」に変更しました。
- relayd(8)を新しいimsg APIに切り替えました。
- relayd(8)がチャンク化メッセージのContent-Lengthを削除するようにしました(RFC 9112セクション6.1)。
- relayd(8)がパーサーの差異を防ぐため、obs-foldを拒否するようにしました(RFC 9112 5.2)。
- relayd(8)のX509_dup()呼び出しを削除し、メモリリークを防ぎ、X509_set_*のエラーチェックを追加しました。
- relayd(8)でMKCALENDAR HTTPメソッドのサポートを追加しました。
- relayd(8)のデバッグビルドを修正しました。
- relayd(8)が複数の解決可能なアドレスをサポートするようにしました。
- relayd(8)がボディのないHTTPレスポンスを処理できるようにしました。
- isakmpd(8) message_alloc_reply()の呼び出し元でのNULLポインタ逆参照を修正しました。
- isakmpd(8)による不正アラインメント32ビット読み取りの可能性を修正しました。
- isakmpd(8)でDELETEペイロードSPI配列サイズを検証します。
- isakmpd(8)でプロポーザルとトランスフォームのサイズを検証します。
- login_radius(8) Access-ChallengeのPort-MessageおよびState属性の長さチェックを追加しました。
- dhcpleased(8)エンジンが負のルート数を送信するのを防ぎます。
- dhcpleased(8)がエンジンプロセスから正しい数のルートを受け入れるようにしました。
- dhcpleased(8)のUDPヘッダー長フィールドが少なくともUDPヘッダーをカバーするようにします。
- smtpd(8) mask-srcを拡張し、セッション詳細を抑制するようにしました。
- smtpd(8)をimsgbuf_get(3)に切り替えました。
- smtpd(8) mda_envelope_free()でディスパッチャーを解放し、リークを防ぎます。
- smtpd(8)は、mboxパスを構築する前に空またはスラッシュを含むユーザー名を拒否するようになりました。
- smtpd(8)は、SMTPエンキューダイアログを開始する前に、argv由来フィールドのCR/LFを拒否するようになりました。
- smtpd(8)のスマースホストルックアップ失敗パスで、コピーされたエンベロープを正しく解放します。
- メモリリークを防ぐため、smtpd(8) mda_envelope_free()でmda_subaddressを正しく解放します。
- smtpd(8)がuncompress_gzip_chunk()でinflateストリームを終了するためにinflateEnd()を使用するようにしました。
- smtpd(8)は、unpack_rr()が失敗を報告したらDNS回答の解析を停止するようになりました。
- 認証タグとIVデータを処理する前に、暗号化されたsmtpd(8)キューバッファサイズを検証します。
- rtrd(8) RPKI-To-Routerプロトコルデーモンとrtrctl(8)をインポートしました。
- acme-client(1)にいくつかの変更がありました:
- acme-client(1)設定で代替名にワイルドカードを指定できるようになりました。
- acme-client(1)が使用後にoptarg/eab/eab_keyをfreezero(3)でワイプするようにしました。
- acme-client(1)の外部アカウントバインディングのためのstrdup()のエラーチェック。
- acme-client(1)でHTTPリクエストインジェクションを防ぎます。
- acme-client(1)がbase64urlエンコードされたEABキーの'='パディングを処理できるようにしました。
- acme-client(1)でのtimegm(3)呼び出しを修正しました。
- acme-client(1)の外部アカウントバインディングのサポートを追加しました。
- bgpd(8)で:
- マルチAFI/SAFIセッションのbgpd(8)グレースフルリスタートタイマーハンドリングを調整しました。
- ルートの検証状態が変更された場合に、bgpd(8)がプレフィックス再評価を行うようにしました。
- msg->connectedがfalseの場合、nexthop_update()でbgpd(8) NEXTHOP_CONNECTEDをクリアします。
- MSG_PROCESS_LIMITに達した場合、bgpd(8)がピアからの読み取りをスロットルするようにしました。
- bgpd(8) aspa_table_equal()の等価性比較を修正しました。
- draft-ietf-sidrops-8210bis-26からの新しいRTR v2エラーコードをbgpd(8)に組み込みました。
- bgpd(8) IdleHoldTimerと高速再接続の実装方法を再構築しました。
- bgpd(8) adj-rib-outでのforce_updateロジックを再構築しました。
- bgpd(8)がピアデータをbgpctl(8)にリークするのを停止しました。
- bgpd(8)にch_meta_locate()を実装しました。
- 通常のピアのためにbgpd(8) path_id_txハックを復活させました。
- bgpd(8)でmrt_dump_entry_mp()の計算ハンドリングを改善し、オーバーフローを回避します。
- iked(8), isakmpd(8), bgpd(8), およびldpd(8)でPFKEY応答の解析中の無限ループを回避します。
- NLRIデータがある場合、ネクストホップ属性が存在することを確認するようにbgpd(8)にしました。
- バージョンミスマッチでbgpd(8)がハードフェイルするのを停止し、余分なend-of-paramsメッセージを無視するようにしました。
- 未知の拡張コミュニティのbgpd(8)ハンドリングを改善しました。
- bgpd(8) MRT属性バッファをMAX_EXT_PKTSIZEに増やし、すべてのケースで機能するようにしました。
- bgpd(8) rib_removeおよびparse.yでのuse-after-freeを修正しました。
- bgpd(8) adjout_prefix_update()でのpend_prefix_add()呼び出しを強制するforce_updateフラグを追加しました。
- bgpd(8)がダウングレードパスでRTR min-versionを尊重し、接続を適切に閉じるようにしました。
- bgpd(8) add-path送信パーサーを改善しました。maxがbestと共に使用された場合にエラーを返します。
- bgpd(8) up_generate_addpath()での制限のハンドリングを調整しました。
- bgpd(8)ピアが有効にしているものに対するチェックに拡張メッセージ機能を追加しました。
- adj-rib-outケースで未処理のimsgタイプに対するエラーをbgpd(8)が返すようにしました。
- リトルエンディアンシステムでのbgpd(8)ポート設定を修正しました。
- bgpd(8) ibuf_set_maxsize()の追加サイズチェック。
- MAX_ADDPATH_COUNT(100に設定)を導入し、bgpd(8) add-pathに使用します。
- bgpd(8) merge_peers()で、通常のピアだけでなくクローンされたピアにもlocal_bgpidを設定するようにしました。
- ループカウンタをbgpd(8)でuint8_tからu_intに変換しました。
- bgpd(8)で最大設定可能なstale timeをCAPA_GR_TIMEMASK (4095)に減らしました。
- bgpd(8) session_graceful_restart()でSessionDownタイマーもアームするようにしました。
- bgpd(8)がxp->rdesessionをチェックして、RDEがセッションを実行しているかどうかを知るようにしました。
- bgpd(8)のpath_calc_hash()を改善しました。
- 無効なbgpd(8) ORIGIN属性に対する「withdrawとして扱う」ハンドリングを修正しました。
- bgpd(8) chashでの2つのメモリアカウンティング問題を修正しました。
- bgpd(8)でのTLVエンコーディングに対する追加チェック。
- すべてのbgpd(8) ASPATH属性を750要素に制限します。
- bgpd(8)でattr_optaddのuint8_t長値のオーバーフローを防ぎます。
- PREFIX_FLAG_FILTEREDのみが変更された場合でも、bgpd(8)プレフィックスを再評価します。
- rpki-client(8)で:
- OpenSSL 4.1でのバッファオーバーリードを回避するため、rpki-client(8)を修正しました。
- rpki-client(8)で、非準拠の証明書サブジェクトエンコーディングを拒否します。
- rpki-client(8)が、参照するマニフェストとの証明書CRLDPのアライメントをチェックするようにしました。
- rpki-client(8) cms_parse_validate()を再構築しました。
- rpki-client(8)で、リーフでの継承リソースのハンドリングを修正しました。
- rpki-client(8)で、すべての署名済みオブジェクトパーサー関数を統一しました。
- rpki-client(8)は、不正なRSAパラメータに関する警告を無条件に表示し、不正なROAを拒否するようになりました。
- rpki-client(8)キューに追加されるデルタの範囲を制限します。
- 持続的なrpki-client(8) HTTP接続で一貫した状態を保証します。
- gbrサポートあり/なしのrpki-client(8)バージョン間の動作の違いを削除しました。
- rpki-client(8)パーサーでの終了競合の可能性を修正しました。
- rpki-client(8)が正常な実行時のみNCA履歴を記録するようにしました。
- rpki-client(8)は、正常な実行時のみ設定ファイルを出力するようになりました。
- 機能しないCAのrpki-client(8)リトライを、rsyncベースURIに基づいてバッチ処理します。
- rpki-client(8) BGPsecルーター証明書に制約を正しく適用します。
- rpki-client(8) skiplist, shortlist, およびNCAリトライハンドリングを重複排除しました。
- rpki-client(8) nca_hist_load()での不正な解放を削除しました。
- rpki-client(8) cert_ca_sia()で、エラーメッセージで正しい通知文字列を使用します。
- rpki-client(8)の成功パスでの二重fcloseを削除しました。
- rpki-client(8)で、サイクル間ジッターを増やすためのコインフリップを追加しました。
- rpki-client(8)で、機能しないCAのためのバックオフリトライメカニズムを追加しました。
- rpki-client(8)は、重複した拡張OIDを持つ証明書を拒否するようになりました。
- 持続的なHTTP rpki-client(8)接続で、各応答後にlast_modifiedをクリアします。
- rpki-client(8)で、CCRマニフェスト内のサブordinateを単純なキューに切り替えました。
- rpki-client(8)がrsync経由で同期する際に、隠しファイルおよびディレクトリを除外するようにしました。
- rpki-client(8)で、一部のASN.1フィールドのファイル名の長さを255に制限しました。
- rpki-client(8)での不完全なstrncmp()チェックを修正しました。
- rpki-client(8) ip_addr_check_overlap()でのオフバイワンエラーを修正しました。
- rpki-client(8)でのshortlistおよびskiplistチェックを修正しました。
- rpki-client(8)にさらにエラーチェックとセーフガードを追加しました。
- tmux(1)の改善とバグ修正:
- ツリーモードでリストが再構築された際にスクロール位置を保持します(issue 5631)。
- wait-forで待機中のクライアントがキルされた場合、リークさせません(issue 5614)。
- ボーダー上でのクリック時にマークをキャンセルしません。
- ボーダーレスメニュー(ペインなど)のサポートを追加しました。
- utf8ターミナル機能を追加しました。
- フォーカスイベントを早期に無視し、プレフィックスとの干渉を防ぎます。
- new-paneに-Kフラグを追加し、モーダルペインがすべてのキーをキャプチャするようにしました。
- フローティングペインの場合も含め、ウィンドウを分割する前に常にズームアウトします。
- ペインタイトルを変更するために「T」を追加しました。
- refresh-nowコマンドを追加しました。
- Msが無効な場合(例: %p1がない場合)は無視し、クライアントモードで報告します。
- グループを同期する際に現在のウィンドウがない場合のクラッシュを修正しました。
- DECプライベートモードのリストであるpane_private_modesフォーマットを追加しました。
- landiskでの起動時のコアダンプを防ぎました。
- モーダルペインを追加しました。現在はnew-pane -Oで作成されます。
- プロンプトの大幅な再構築。
- ステータスラインが上部にある場合のカーソル計算を修正しました。
- capture-paneに-Hフラグを追加し、ハイパーリンクを表示するようにしました。
- capture-paneでライン番号を表示するために-L、ラインフラグを表示するために-Fを追加しました。
- ヒストリから削除または解放する際に、ライン全体をクリアします。
- 新しいペインを作成する際にセッション全体を再描画します。
- kill-sessionに-gフラグを追加し、グループ内のすべてのセッションをキルするようにしました。
- レイアウトセルの解放時のクラッシュを修正しました。
- %unlinked-window-renamedに欠落していた引数を追加しました。
- バッファに部分的なペースト終了が含まれている場合、エスケープ遅延を増やします。
- ソート済みリストに未接続のクライアントを含めることによるクラッシュを修正しました。
- new-paneコマンドを追加しました。
- スクロールバーを再描画する際のアンダーフローによる無限ループを修正しました。
- キューイングされたペイン出力のためのコントロールモードテイクダウン順序を修正しました。
- Emacsスタイルの再中央揃え(上/下)を追加しました。
- 一部のループに時間制限を追加しました。
- screen_mode_to_stringに欠落していたフラグを追加しました。
- LibreSSLバージョン4.4.0:
- ポータブルな変更点:
- AIX, FreeBSD, macOS, MinGW, NetBSD、特にWindows向けの多数の互換性レイヤー修正。
- MSVC ARM64オプティマイザによる定数時間bignumコードの不正なコード生成を修正しました。
- 多くのプラットフォームでのアセンブリサポートを改善しました。
- 提供されているホストでpledge(2)およびunveil(2)なしでopenssl(1), nc(1), およびocspcheck(8)がサイレントに実行されるのを修正しました。
- 内部改善:
- PKCS#7のマイナーコードクリーンアップ。
- RFC 3779 IPアドレス範囲の最大値に対して未使用ビットをクリアします。
- DTLSコードのクリーンアップパスで、多くの無理な処理を回避します。
- ML-KEMコードでfailure_keyをゼロクリアします。
- 事前コンパイラベースSHAアセンブリでのポータビリティを改善します。
- 公開および内部ヘッダーからいくつかの古い#ifdefを削除しました。
- dtls12_handshake_msgフレームワークを導入し、使用します。
- uiコードでunion名を_からuに変更します。Windows CE #ifdefを回避します。
- TLSv1.0およびTLSv1.1の削除後、署名アルゴリズムハンドリングをクリーンアップおよび簡素化します。
- ecdh_compute_key()に無限遠点チェックを追加します。
- 最新のX.509検証の到達不能な非レガシーパスでの不正なpurposeチェックを修正します。
- TLSv1.3サーバーが共有グループがない場合のハンドリングを改善します。
- HelloRetryRequestsのセカンダリキー共有ハンドリングを修正します。
- crl_cb()でのEXFLAG_CRITICALの誤処理を修正します。
- 同じスコアのCRL間で、BoringSSLおよびOpenSSLの動作に合わせるため、thisUpdateが最新のものを優先します。
- DTLSでのシーケンス番号とメッセージヘッダーハンドリングをクリーンアップします。
- b64_write()での冗長なBIO_write()長さアサーションを削除します。
- 不正なbase64 BIO状態をアサートする代わりに内部エラーとして報告します。
- アンロールおよびインターリーブされたアルゴリズムを使用してSHA-3パフォーマンスを改善します。
- TLSv1.3受信バッファを遅延して割り当てます。
- レガシースタックへの切り替え時に、残りのレコードコンテンツのハンドリングを簡素化します。
- dtls1_ctrl()での無害な戻り値の狭窄を回避します。
- tls1_PRF()からNID_md5_sha1サポートを削除します。
- DTLS未処理レコードキューを削除します。
- DTLSアプリケーションデータキューを削除します。
- SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS(設定されたことがない)を削除します。
- 互換性変更点:
- 名前が間違っていたtls_peer_cert_chain_pem()は非推奨となり、将来のリリースで削除される可能性があります。tls_peer_cert_chain_verified_pem()およびtls_peer_cert_bundle_unverified_pem()を使用してください。
- libtlsでTLSv1.3接続の優先グループとしてX25519MLKEM768を使用します。
- NUL終端されなくなる将来のOpenSSLリリース(おそらくOpenSSL 4.2から)でもlibtlsが動作し続けることを保証します。これはlibtlsの古いバグであり、問題を引き起こす可能性があります。
- CRYPTO_cleanup_all_ex_data()はノードロップ操作になりました。スレッドセーフではなく、実際のクリーンアップはOPENSSL_cleanup(3)によって行われます。
- X509_check_ca(3)を最新のOpenSSLに合わせます。長らくX509_check_purpose(3)呼び出し後にのみ機能すると文書化されていましたが、「フェイルクローズ」、すなわち非CAを示すことが依然として理にかなっています。
- CCR, ErikIndex, ErikPartition, ErikSegmentIndex, およびcommunityDefinitionのOIDを追加しました。
- バグ修正:
- PKCS7_set_{un,}signed_attributes(3)を修正し、呼び出し元が失敗時に解放できるようにし、二重解放のリスクを回避します。
- TLSキー共有コードでdecode_errorおよびinvalid_key変数を初期化し、未初期化メモリでの分岐を回避します。
- 最初のCHと2番目のCHで同一のフレーミングを保証するため、ClientHelloハッシュにタイプとデータの間の拡張長を記録します。
- s_client XMSSモードでの境界外書き込みを修正します。
- EC_GROUP_check(3)およびX509_CRL_verify(3)の失敗が、openssl(1) ecparamおよびopenssl crlで「app」失敗として結果するようにします。
- s_socketでの逆引きDNSルックアップ失敗時に受け入れを失敗させません。
- X509V3_EXT_print(3)が0と1のみを返すことを保証します。
- IPAddressFamily_cmp()でのNULLに対するmemcmp()呼び出しを回避します。
- libtlsで、FQDNとして指定されたTLDのワイルドカードマッチングを禁止します。
- カスタムカーブリストでのTLSv1.2のいくつかの側面を修正しました。
- ピア提供のEC公開キーが非圧縮エンコーディングを使用することを保証します。
- ECピア公開鍵のデコード失敗時にdecode_errorアラートを送信します。
- パスワードベースのCMS復号化でのNULL逆参照および境界外読み取りを回避します。
- ASN1_mbstrinc_copy()にいくつかの欠落していた境界チェックを追加します。
- PKCS7_verify(3)で呼び出し元所有のバッファを解放するのを回避します。
- デフォルトオプションからSSL_OP_LEGACY_SERVER_CONNECTを削除します。
- HelloRetryRequest違反に対する様々な不正パラメータアラートを送信します。
- サーバーが選択したサイファースイートがTLSv1.2で使用可能であることを確認します。
- ui_open_session()失敗時にCRYPTO_LOCK_UIをアンロックし、デッドロックを防ぎます。
- HMAC(3)の戻り値をチェックし、openssl(1)での未初期化メモリの使用を回避します。
- supported_groupsがないkey_shareに対する正しいアラートを使用します。
- verifyコールバックが1を返した場合でもX509_V_ERR_HOSTNAME_MISMATCHをドロップしません。これは非推奨であることが長らく文書化されていますが、一部のアプリケーションは依然として使用しています。
- サーバーが広告したALPNプロトコルを選択するか、illegal_parameterでハンドシェイクを中止することを保証します。
- コンテンツが省略されたPKCS#7オブジェクトのストリーミングを修正します。
- PKCS7_stream()でのタイプ混同によるOOBアクセスを回避します。
- 設定解析のシーケンスおよびセットを処理するヘルパーであるasn1_multi()でのリークおよびその他の様々なバグを修正しました。
- リーフでのRFC 3779継承チェックを、RPKIを壊さない範囲で可能な限り修正します。依然として、約1/3のRFC 9286マニフェストが無効になるため、直接の発行者が拡張の1つを省略することを許可します。
- dtls1_process_fragment()での不適切なサイズチェックを修正しました。
- デルタCRLをフルCRLと混同するのを回避します。
- RSA-PSS EVP_PKEY_CTXをコピーする際、デフォルトを使用するのではなく、saltlenおよび最小saltlen制限がコピーされることを保証します。
- DTLSクライアントが予期しないFinishedメッセージを受信できるようにします。
- 検証済みチェーンにリーフを追加する前に、リーフの拡張をキャッシュし、名前制約チェックをより確実に機能させます。
- 電子メールアドレスと共通名のために、サブジェクト全体を検索することを保証します。
- ほとんど使用されないレガシーAPI NAME_CONSTRAINTS_*()で、電子メールおよびsubjectAltname内の埋め込みNULをチェックします。
- CRL Distribution Point拡張でのnameRelativeToCRLIssuerのサポートを削除します。RFC 5280によると、準拠CAは使用すべきではなく、署名前にメモリを大量に消費していました。
- セキュリティおよび信頼性修正:
- X.509名前制約URIホスト解析での解析問題を修正しました。IPv6リテラルを正しく処理し、特別に細工されたuserinfoがホストチェックをバイパスするのを防ぎます。
- 小さなハンドシェイクメッセージフラグメントでの過剰なメモリ消費を回避するため、バッファリングされたDTLSハンドシェイクメッセージのサイズを制限します。
- tls_config_ocsp_require_stapling()を使用するクライアントに対するOCSPレスポンダー認証バイパスを修正しました。これは、OpenBSDのnc(1)およびftp(1)が「muststaple」キーワードと共に使用される場合にのみ知られています。
- テストおよびプロアクティブセキュリティ:
- DTLSおよびTLS再ネゴシエーションのテストカバレッジを改善しました。
- Apache2ライセンス前のBoringSSLからのX.509 CRL回帰テストを追加しました。
- テストフレームワークをファイルベースからメモリベースに変更しました。Goの出力形式により近くなりました。
- ポータブルな変更点:
- OpenSSH 10.6:
- セキュリティ修正:
- 潜在的なサイドチャネルリークを回避するため、ssh(1) LZ77辞書コーダーを無効にしました。
- sshd_config(5)でChannelTimeoutおよびRekeyLimitが適用されていなかった問題を修正しました。
- ssh(1) authorized_keysの「restrict」キーワードがトンネル転送に正しく適用されるようにしました。
- 互換性に影響する可能性のある変更:
- ssh-mldsa44-ed25519のIANA割り当てコードポイントを使用するようにしました(「@openssh.com」の代わりに)。
- sshd_config(5) DisableForwarding=yesがPermitTunnel=yesをオーバーライドするようにしました。
- ssh-agent(1)エージェントキー使用制約でのユーザー名の最大サイズを強制します。
- scp(1) '-O filename'でのNULバイトを禁止します。
- 新機能:
- PIN入力をスキップするための新しいssh-add(1)オプション「-P」(bz3635)。
- ssh(1)のシグナルハンドリングをreadpassphrase(3)で修正しました。
- ssh(1)をsupercop ed25519からlibsodiumに切り替えました。
- ssh(1) TCPKeepAliveを転送にも対応するように拡張しました(bz3921)。
- ssh-keygen(1)に「hexdump」を追加し、キーブロブを16進形式でダンプできるようにしました。
- パスフレーズをリセットする際に、FIDO秘密キーのssh-keygen(1) touch-required/verify-requiredフラグを設定/クリアできるようにしました。
- ssh(1)の「-Z user@host」モードを追加し、認証に使用される公開鍵をリスト表示します。
- 複合ポスト量子mldsa44-ed25519署名スキームの実験的なssh(1)サポートを追加しました。
- ssh(1)キー生成関数の明示的シードバリアントを追加しました。
- sshd(8) ed25519検証に署名偽造可能性および公開鍵有効性チェックを追加しました。
- バグ修正:
- ssh(1)圧縮ペイロードが最大ペイロード長を超えて展開されないことを確認します。
- 複数のssh(1)プロセスが多重化制御ソケットを確立する際の競合を回避します。
- ssh-add(1)でのメモリリークを修正しました(CID 913600)。
- ssh(1) CIDs 913601および913602の修正。
- ssh(1) CID 913600の修正。
- ssh(1)チャネルタイムアウトを、小数およびサブ秒タイムアウトを許可するように変換しました。
- ssh(1)のシグナルマスキングがsigaddsetを正しく使用するようにしました(bz3981)。
- ssh(1)のメモリリーク(CID 913598および913599)を修正しました。欠落していたセミコロン(CID 913599)を追加しました。
- ssh(1)による夏時間タイムスタンプ変換を修正しました(bz4004)。
- 最近のpledge(2)変更によるssh(1)プロキシソケットの破損を修正しました。
- ssh-keyscan(1)によるサーバーバナーの読み取りが、多数のホストに対するキー スキャンでブロック/フリーズしなくなりました。
- ssh(1)エージェントがロックされている場合でも、session-bind@openssh.comリクエストを許可します。
- エラーパスでcipher_init()が失敗した場合のssh(1)クライアントでの潜在的なrealloc use-after-freeを回避します。
- ssh(1)公開鍵認証中に試行される証明書の順序変更。
- ssh(1) ML-KEM/ECDH相互運用問題を修正しました。
- 認証前の攻撃対象領域から、いくつかの重要なssh(1)解析および検証パスを削除しました。
- コマンドライン経由でssh(1)ダウンロードを実行する際に、サーバー制御パスへのダウンロードを回避します。
- ssh(1)での潜在的なNULL逆参照を回避します。リモートグロブ経由で受信したファイル名をサニタイズします。
- sshd(8)設定管理コードの大規模なリファクタリング。
- システムリゾルバから受信したドメイン名を小文字に強制するようにsshd(8)にしました。
- sshd(8)での2つの1バイト境界外読み取りを修正しました。
- 認証前と認証後のsshd(8)プロセス間で渡されるトランスポート状態のより厳密な検証。
- ssh(1)クライアントで、cipher_init()が失敗した場合のエラーパスでのuse-after-freeを修正しました。
- ssh-agent(1) -Vを追加し、バージョンを表示します。リリンク後にバイナリが機能するかどうかをテストするために使用します。
- 無効なサイファー/MACリスト引数を有効として検証するのをssh(1)で停止しました。
- ssh(1)公開鍵認証中のNULL逆参照を修正しました。
- Dropbearが最近-Qオプションを追加したため、利用可能な場合、KEXをクエリするためにssh(1)がそれを使用するようにしました。
- ssh(1)ダイナミックTCP/IPチャネルをインタラクティブではなくバルクとして分類します(bz3958)。
- セキュリティ修正:
- Portsおよびパッケージ:
各アーキテクチャ向けの多数の事前ビルド済みパッケージ:
- aarch64: 12907
- amd64: 13060
- arm: XXX
- i386: 10659
- mips64: 9072
- powerpc: XXX
- powerpc64: 9564
- riscv64: 11116
- sparc64: 10621
いくつかのハイライト:
- Asterisk 20.21.0 および 22.11.0
- Audacity 3.7.9
- CMake 4.3.5
- Chromium 154.0.8037.92
- Emacs 31.1
- FFmpeg 9.0.2
- GCC 16.1.0
- GHC 9.10.3
- GNOME 49
- Go 1.27.1
- JDK 11.0.32, 17.0.20, 21.0.12 および 25.0.4
- KDE Gear 26.08.1
- KDE Frameworks 6.30.0
- KDE Plasma 6.7.5
- Krita 6.0.3
- LLVM/Clang 21.1.8 および 22.1.8
- LibreOffice 26.8.0.3
- Lua 5.1.5, 5.2.4, 5.3.6, 5.4.8 および 5.5.1
- MariaDB 12.3.3
- Mono 6.14.1
- Mozilla Firefox 157.0 および ESR 153.4.0
- Mozilla Thunderbird 153.4.0
- Mutt 2.4.2 および NeoMutt 20260616
- Node.js 24.21.0 および Deno 2.9.7
- OCaml 4.14.2
- OpenLDAP 2.6.15
- PHP 8.3.33, 8.4.26 および 8.5.11
- Postfix 3.5.28 および 3.11.7
- PostgreSQL 18.6
- Prism Launcher 11.1.0
- Python 2.7.18 および 3.14.7
- Qt 5.15.19 (+ kdeパッチ) および 6.11.2
- R 4.6.1
- Ruby 3.3.12, 3.4.11 および 4.0.7
- Rust 1.98.1
- SQLite 3.53.2
- Shotcut 26.8.1
- Sudo 1.9.17p2
- Suricata 7.0.7
- Tcl/Tk 8.5.19, 8.6.18 および 9.0.4
- TeX Live 2026
- Vim 9.2.1125, Neovim 0.12.5 および Vim-Classic 2026091
- Wayland 1.26.0 (compositors CoW, Labwc, Mango, Niri, Sway および Wayfire を含む)
- Vulkan 1.4.357.0
- Xfce 4.20.0
- 例年通り、マニュアルページやその他のドキュメントの着実な改善。
- システムには、外部サプライヤーからの以下の主要コンポーネントが含まれています:
- Xenocara (X.Org 7.7 ベース、xserver 21.1.24 + パッチ、freetype 2.14.3, fontconfig 2.17.1, Mesa 25.0.7, xterm 410, xkeyboard-config 2.20, fonttosfnt 1.2.5 など)
- LLVM/Clang 22.1.6 (+ パッチ)
- GCC 4.2.1 (+ パッチ) および 3.3.6 (+ パッチ)
- Perl 5.42.3 (+ パッチ)
- pkgconf 3.0.7
- NSD 4.15.2
- Unbound 1.26.1
- Ncurses 6.4
- Binutils 2.17 (+ パッチ)
- GDB 6.3 (+ パッチ)
- Awk 20250116
- Expat 2.8.4
- zlib 1.3.2 (+ パッチ)
インストール方法
お使いのマシンにOpenBSD 8.0をインストールする方法の詳細については、ミラーサイトの以下のファイルを参照してください:
- .../OpenBSD/8.0/alpha/INSTALL.alpha
- .../OpenBSD/8.0/amd64/INSTALL.amd64
- .../OpenBSD/8.0/arm64/INSTALL.arm64
- .../OpenBSD/8.0/armv7/INSTALL.armv7
- .../OpenBSD/8.0/hppa/INSTALL.hppa
- .../OpenBSD/8.0/i386/INSTALL.i386
- .../OpenBSD/8.0/landisk/INSTALL.landisk
- .../OpenBSD/8.0/luna88k/INSTALL.luna88k
- .../OpenBSD/8.0/macppc/INSTALL.macppc
- .../OpenBSD/8.0/octeon/INSTALL.octeon
- .../OpenBSD/8.0/powerpc64/INSTALL.powerpc64
- .../OpenBSD/8.0/riscv64/INSTALL.riscv64
- .../OpenBSD/8.0/sparc64/INSTALL.sparc64
OpenBSDに慣れている人向け、および「disklabel -E」コマンドの使用方法に関する簡単なインストーラー情報。OpenBSDのインストール中に少しでも迷ったら、上記にリストされている関連するINSTALL.*ファイルをお読みください!
OpenBSD/alpha:
CDから起動できる場合、「install80.iso」または「cd80.iso」をCDに書き込んで起動できます。詳細についてはINSTALL.alphaを参照してください。
OpenBSD/amd64:
CDから起動できる場合、「install80.iso」または「cd80.iso」をCDに書き込んで起動できます。BIOSオプションの調整が必要な場合があります。
USBから起動できる場合、「install80.img」または「miniroot80.img」をUSBスティックに書き込んで起動できます。
CD、フロッピーディスク、またはUSBから起動できない場合は、付属のINSTALL.amd64ドキュメントに記載されているPXEを使用してネットワーク経由でインストールできます。
OpenBSDを別のOSとデュアルブートする予定がある場合は、INSTALL.amd64を読む必要があります。
OpenBSD/arm64:
ハードウェアによっては、「install80.iso」または「cd80.iso」をCDに書き込んで起動するか、システム固有のminirootをSDカードに書き込んでシリアルコンソールに接続した後に起動できます。詳細についてはINSTALL.armv64を参照してください。
OpenBSD/armv7:
システム固有のminirootをSDカードに書き込み、シリアルコンソールに接続した後に起動します。詳細についてはINSTALL.armv7を参照してください。
OpenBSD/hppa:
INSTALL.hppaまたはhppaプラットフォームページの指示に従って、ネットワーク経由で起動します。
OpenBSD/i386:
CDから起動できる場合、「install80.iso」または「cd80.iso」をCDに書き込んで起動できます。BIOSオプションの調整が必要な場合があります。
USBから起動できる場合、「install80.img」または「miniroot80.img」をUSBスティックに書き込んで起動できます。
CD、フロッピーディスク、またはUSBから起動できない場合は、付属のINSTALL.i386ドキュメントに記載されているPXEを使用してネットワーク経由でインストールできます。
OpenBSDを別のOSとデュアルブートする予定がある場合は、INSTALL.i386を読む必要があります。
OpenBSD/landisk:
「miniroot80.img」をCFまたはディスクの先頭に書き込み、通常通り起動します。
OpenBSD/luna88k:
「boot」と「bsd.rd」をMachまたはUniOSパーティションにコピーし、PROMからブートローダーを起動し、次にブートローダーからbsd.rdを起動します。詳細についてはINSTALL.luna88kの指示を参照してください。
OpenBSD/macppc:
ミラーサイトから「install80.iso」イメージをCDROMに焼き、マシンを起動しながらCキーを押し続けて、ディスプレイにOpenBSD/macppc bootと表示されるまで待ちます。
または、Open Firmwareプロンプトで「boot cd:,ofwboot /8.0/macppc/bsd.rd」と入力します。
OpenBSD/octeon:
シリアルポートを接続した後、DHCP/tftp経由でネットワーク上でbsd.rdを起動します。詳細についてはINSTALL.octeonの指示を参照してください。
OpenBSD/powerpc64:
インストールするには、「install80.img」または「miniroot80.img」をUSBスティックに書き込み、マシンに接続して、Petitbootの「OpenBSD install」メニュー項目を選択します。詳細についてはINSTALL.powerpc64の指示を参照してください。
OpenBSD/riscv64:
インストールするには、「install80.img」または「miniroot80.img」をUSBスティックに書き込み、そのドライブを接続した状態で起動します。HiFive Unmatchedボードに付属していたmicroSDカードも接続されていることを確認してください。詳細についてはINSTALL.riscv64の指示を参照してください。
OpenBSD/sparc64:
ミラーサイトからイメージをCDROMに焼き、そこから起動し、「boot cdrom」と入力します。
これが機能しない場合、またはCDROMドライブがない場合は、「floppy80.img」または「floppyB80.img」(マシンによって異なります)をフロッピーに書き込み、「boot floppy」で起動できます。詳細についてはINSTALL.sparc64を参照してください。
インストールが失敗する可能性が高いため、必ず正常にフォーマットされた、BAD BLOCKSのないフロッピーを使用してください。
また、「miniroot80.img」をディスクのスワップパーティションに書き込み、「boot disk:b」で起動することもできます。
何も機能しない場合は、INSTALL.sparc64に記載されているようにネットワーク経由で起動できます。
アップグレード方法
すでにOpenBSD 7.9システムをお持ちで、再インストールしたくない場合は、アップグレードガイドにアップグレード手順とアドバイスがあります。
ソースコードに関する注意
src.tar.gzには/usr/srcから始まるソースアーカイブが含まれています。このファイルには、カーネルソースを除くすべてが必要なものが含まれています。カーネルソースは別のアーカイブにあります。展開するには:
# mkdir -p /usr/src # cd /usr/src # tar xvfz /tmp/src.tar.gz
sys.tar.gzには/usr/src/sysから始まるソースアーカイブが含まれています。このファイルには、カーネルを再構築するために必要なすべてのカーネルソースが含まれています。展開するには:
# mkdir -p /usr/src/sys # cd /usr/src # tar xvfz /tmp/sys.tar.gz
これらのツリーはどちらも通常のCVSチェックアウトです。これらのファイルを使用すると、こちらに記載されているanoncvsサーバーの使用を開始するのに役立ちます。これらのファイルを使用すると、OpenBSDソースツリー全体を新規チェックアウトするよりも、最初のCVSアップデートがはるかに高速になります。
Ports Tree
portsツリーアーカイブも提供されています。展開するには:
# cd /usr # tar xvfz /tmp/ports.tar.gz
この時点でportsについて何も知らない場合は、portsページをお読みください。このテキストはportsの使用方法のマニュアルではありません。むしろ、ユーザーがOpenBSD portsシステムを開始するためのノートのセットです。
ports/ディレクトリは、portsのCVSチェックアウトを表します。完全なソースツリーと同様に、portsツリーはAnonCVS経由で利用可能です。したがって、-stableブランチを最新の状態に保つには、ports/ツリーを読み書き可能なメディアで利用可能にし、次のようなコマンドでツリーを更新する必要があります:
# cd /usr/ports # cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_8_0
(もちろん、サーバー名は近くのanoncvsサーバーに置き換える必要があります。)
ほとんどのportsはミラーでパッケージとして利用可能です。8.0リリース向けの更新されたportsは、問題が発生した場合に利用可能になります。
portの追加に関心がある場合、協力したい場合、または単に詳細を知りたい場合は、メーリングリストports@openbsd.orgが良い場所です。