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 (重要) [その他]
| |
| 影響を受けるシステム | |
|
| |
FreeBSD | |
本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。 | |
| 想定される影響 | |
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 | |
| 対策 | |
ベンダ情報を参照して適切な対策を実施してください。 | |
| ベンダ情報 | |
FreeBSD | |
| CWEによる脆弱性タイプ一覧 CWEとは? | |
|
| |
| 共通脆弱性識別子(CVE) CVEとは? | |
|
| |
| 参考情報 | |
| |
| 更新履歴 | |
|
| 公表日 | 2026/08/26 |
| 登録日 | 2026/09/28 |
| 最終更新日 | 2026/09/28 |



