New CIFSwitch Linux flaw gives root on multiple distributions

Linuxカーネルにおいて「CIFSwitch」と名付けられた新たなローカル特権昇格の脆弱性が発見された。この脆弱性を悪用すると、攻撃者がCIFS認証キーの記述を偽造し、カーネルのキー要求メカニズムを悪用して、root権限を取得する可能性がある。

この問題は現在CVE-2026-46243として追跡されており、カーネルのCIFSとcifs-utilsの脆弱な組み合わせを搭載している複数のLinuxディストリビューションに影響を及ぼします(バージョン6.14以降が対象ですが、一部の古いバージョンも影響を受けます)。

CIFS(Common Internet File System)は、ローカルネットワーク上でファイル、フォルダ、デバイスへのアクセスを可能にするネットワークプロトコルです。Linuxでは、リモートシステムからのデータのマウント、読み取り、書き込みにこれを使用します。

image

CIFSネットワーク共有が認証にKerberosを使用している場合、Linuxカーネルはユーザー空間のヘルパープログラムに認証の実行を依頼し、ユーザー空間ツールの集合体であるcifs-utilsが仲介役として機能します。

「カーネルは cifs.spnego タイプのキーを要求し、通常の keyutils/request-key 設定では、cifs.upcall が root として実行され、Kerberos/SPNEGO 素材を取得または構築します」と、Linux の CIFSwitch 権限昇格の脆弱性を発見し、その名称を付けた SpaceX のセキュリティエンジニア、Asim Viladi Oglu Manizada 氏は説明しています。

同研究者によると、この問題は、Linux カーネルの CIFS サブシステムが、cifs.spnego キーの要求がカーネルの CIFS クライアントから発信されたものであることを検証できないことに起因している。

その結果、権限のないユーザーでも偽造された cifs.spnego リクエストを作成し、通常の認証ワークフローをトリガーすることが可能になります。

cifs.spnego キー要求は、Kerberos/SPNEGO 認証を使用してネットワーク共有に接続する際に、CIFS/SMB クライアントが必要とする認証データを取得するために、Linux キーリングサブシステムによって使用されます。

この欠陥により、root 権限を持つ cifs.upcall ヘルパーは、カーネルによって生成されたものと想定される、攻撃者が制御するフィールドを信頼してしまう。

これらのフィールドを悪用してネームスペースの切り替えを強制し、権限が解除される前に Name Service Switch (NSS) 検索をトリガーすることで、ローカル攻撃者は悪意のある NSS モジュールをロードし、root コードの実行を達成することができます。

Manizada は、この問題の原因と、それを悪用して root 権限を取得する方法を解説した詳細な技術レポートを公開しています。

影響、修正、およびエクスプロイト

Manizada氏によると、CIFSwitchは19年前の2007年に導入されたという。同氏は、これは「普遍的ではない」ものであり、その悪用は脆弱なカーネルバージョンなど、いくつかの要因に依存すると付け加えている。

その他の前提条件として、脆弱性のあるcifs-utilsのバージョン、ユーザーネームスペースの利用可能性、および攻撃をブロックしないSELinux/AppArmorポリシーが挙げられます。

Manizada氏がデフォルト設定で脆弱であると確認したディストリビューションには、以下のものがあります:

  • Linux Mint 21.3 / 22.3
  • CentOS Stream 9
  • Rocky Linux 9
  • AlmaLinux 9
  • Kali Linux 2021.4–2026.1
  • SLES 15 SP7

研究者は、「cifs-utils」がインストールされている場合、さまざまなバージョンのUbuntu、Debian、Pop!_OS、openSUSE、Oracle Linux、およびAmazon Linuxも脆弱である可能性があると指摘した。

ただし、Ubuntu 26.04、 Fedora 40-44、CentOS Stream 10、Rocky Linux 10、SLES 16、AlmaLinux 10、openSUSE Leap 16など、デフォルトのSELinux/AppArmor設定によりCIFSwitchの悪用が防止されるバージョンも存在する。

また、Amazon Linux 2およびKali Linux 2019.4と2020.4は、cifs-utilsのバージョンにnamespace-switch機能が含まれていないため、全く影響を受けません。

CIFSwitchは、cifs.spnegoリクエストの発信元に対する検証を追加するカーネルパッチ(アップストリームコミット3da1fdf)によって修正されていますが、そのパッチが適用された正確なカーネルバージョンはディストリビューションごとに異なります。

研究者は、ユーザーに対し、CIFSモジュールを使用していない場合は無効化またはブラックリストに登録し、cifs-utilsパッケージが不要な場合は削除し、非特権ユーザーネームスペースを無効にすることを推奨しています。

Manizada氏はCIFSwitchに対する概念実証(PoC)エクスプロイトを公開しており、これにより組織は適用したパッチや緩和策の有効性を検証することができます。

CIFSwitchは、「Copy Fail」、「Dirty Frag」、「Fragnesia」、「DirtyDecrypt」、「PinTheft」など、最近公開されたLinuxシステムに影響を与える一連の権限昇格の脆弱性の最新のものとなります。

6月2日に記事を更新し、CVE-IDを追加しました