【活用ガイド】

JVNDB-2026-035748

FreeBSDにおける代替パスまたはチャネルを使用した認証回避に関する脆弱性

概要

FreeBSD 15.0では、ユーザ資格情報を表すカーネル構造体が変更されました。これまでは補助グループIDのリストを格納する配列の最初の要素にプライマリグループIDが格納されていましたが、現在はプライマリグループIDが専用のフィールドに格納されるようになっています。この変更は主にカーネル内部のものであり、ユーザからは見えません。しかし、group_is_primary()という関数がこの変更に伴い適切に更新されていませんでした。この関数はmac_doで遷移ルール適用後の資格情報のプライマリグループIDを判断する際に使用されており、ルールのターゲットが明示的にグループを指定しない場合に利用されます。その結果、特定のmac_doルールにおいて、資格情報の切り替え時に誤って元の資格情報の補助グループ配列の最初の要素に格納されていたIDをプライマリグループIDとして設定してしまう可能性があります。補助グループのリストが空の場合は、この値が0となり、「wheel」グループに対応します。例えば、"uid=1001>uid=1002"のようなルールは、元のプロセスがグループ0に属していなくても、プライマリグループIDを0に設定する目的で悪用される恐れがあります。特定のmac_doルールはプロセスのグループIDを0に設定するために悪用可能です。ただし、このバグを発生させるにはルールが呼び出し元に適用されなければならず、例えばルールセット"uid=1001>uid=1002"ではユーザIDが1001でなければバグは誘発されません。また、ログインユーザは一般的に非空の補助グループリストを持つため、このバグは最大でも資格情報の最初の補助グループIDをプライマリグループIDとして設定する用途に限られます。バグを悪用してプライマリグループIDを0に設定するには、特権付きsetgroups(2)システムコールを用いて全ての補助グループから明示的に自分自身を除外する必要があります。グループ0のメンバーシップはしばしば制御された特権昇格を可能にするため、このバグはシステム構成によってはroot権限取得にさらなる悪用が可能かもしれません。例えば、補助グループリストが空でユーザ1001として実行されるプロセスは、次のようなルールセット"uid=1001>uid=1002;gid=0>uid=0"によって悪用され得ます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 8.1 (重要) [その他]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): なし
影響を受けるシステム


FreeBSD
  • FreeBSD 15.0
  • FreeBSD 15.1

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
・当該ソフトウェアは停止しません。
対策

ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

FreeBSD
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 代替パスまたはチャネルを使用した認証回避(CWE-288) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-58092
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-58092
更新履歴

  • [2026年09月28日]
      掲載