CIFSwitch:新たなLinuxカーネルの脆弱性により、複数のディストリビューションでroot権限が奪取可能に
新たに発見されたLinuxカーネルのローカル権限昇格の脆弱性「CIFSwitch」は、攻撃者がCIFS認証キーの説明を偽造し、root権限を取得することを可能にする恐れがあります。この脆弱性は、カーネルのCIFSとcifs-utilsの脆弱な組み合わせにより、複数のLinuxディストリビューションに影響を与えます。

**CIFSwitch**:新たに発見されたLinuxカーネルのローカル権限昇格の脆弱性により、攻撃者はCIFS認証キーの説明を偽造し、カーネルのキーリクエストメカニズムを悪用してroot権限を取得できるようになる可能性があります。
### 脆弱性の概要
この問題は、カーネルのCIFSとcifs-utils(バージョン6.14以降、一部古いバリアントも影響を受ける)の脆弱な組み合わせが出荷されている複数のLinuxディストリビューションに影響を与えます。
**CIFS**(Common Internet File System)は、ローカルネットワーク全体でファイル、フォルダ、デバイスへのアクセスを可能にするネットワークプロトコルです。Linuxはこれを使用して、リモートシステムからデータをマウント、読み取り、書き込みます。
CIFSネットワーク共有がKerberos認証を使用している場合、Linuxカーネルはユーザー空間のヘルパープログラムに認証の実行を要求し、cifs-utilsというユーザー空間ツール群が仲介役を務めます。
「カーネルはcifs.spnego-typeキーを要求し、通常のkeyutils/request-key設定はroot権限でcifs.upcallを実行してKerberos/SPNEGOマテリアルを取得または構築します」と、CIFSwitch権限昇格の脆弱性を発見し命名した**SpaceX**のセキュリティエンジニアである**Asim Viladi Oglu Manizada**氏は説明します。
研究者によると、問題はLinuxカーネルのCIFSサブシステムが、cifs.spnegoキーリクエストがカーネルのCIFSクライアントから発信されたものであることを検証しないことです。
その結果、特権を持たないユーザーが偽造されたcifs.spnegoリクエストを作成し、通常の認証ワークフローをトリガーすることが可能になります。
cifs.spnegoキーリクエストは、Linux keyringサブシステムによって使用され、Kerberos/SPNEGO認証を使用してネットワーク共有に接続する際にCIFS/SMBクライアントが必要とする認証データを取得します。
この脆弱性により、root権限を持つcifs.upcallヘルパーは、カーネルによって生成されたと想定される攻撃者制御のフィールドを信頼してしまいます。
これらのフィールドを悪用して名前空間スイッチを強制し、権限が降格される前にName Service Switch(**NSS**)ルックアップをトリガーすることで、ローカル攻撃者は悪意のあるNSSモジュールをロードし、rootコード実行を達成できます。
**Manizada**氏は、問題の原因とroot権限を取得するためにどのように悪用できるかを説明する詳細な[技術レポート](https://heyitsas.im/posts/cifswitch/)を公開しています。
### 影響、修正、および悪用
Manizada氏によると、CIFSwitchは19年前の2007年に[導入](https://github.com/torvalds/linux/blame/7ad785927d9eb348adb381d168ed73d0dd3c7670/fs/smb/client/cifs_spnego.c)されました。また、これは「普遍的ではない」と付け加えており、悪用は脆弱なカーネルバージョンなどのいくつかの要因に依存します。
その他の前提条件としては、脆弱なcifs-utilsバージョン、ユーザー名前空間の利用可能性、および攻撃をブロックしないSELinux/AppArmorポリシーが挙げられます。
デフォルト設定で脆弱性が確認されているディストリビューションの一部は以下の通りです。
* Linux Mint 21.3 / 22.3
* CentOS Stream 9
* Rocky Linux 9
* AlmaLinux 9
* Kali Linux 2021.4–2026.1
* SLES 15 SP7
研究者は、Ubuntu、Debian、Pop!_OS、openSUSE、Oracle Linux、Amazon Linuxの様々なバージョンでも、「cifs-utils」がインストールされている場合は脆弱である可能性があると指摘しています。
しかし、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バージョンに名前空間スイッチ機能が欠けているため、全く影響を受けません。
CIFSwitchは、cifs.spnegoリクエストの発信元検証を追加するカーネルパッチ(upstream [commit 3da1fdf](https://github.com/torvalds/linux/commit/3da1fdf4efbc490041eb4f836bf596201203f8f2))によって修正されましたが、そのパッチを含む正確なカーネルバージョンはディストリビューションごとに異なります。
研究者は、ユーザーがCIFSモジュールを使用しない場合は無効化またはブラックリスト化し、cifs-utilsパッケージは不要な場合は削除し、特権のないユーザー名前空間を無効化することを推奨しています。
Manizada氏は、CIFSwitchの概念実証(PoC)[エクスプロイト](http://github.com/manizada/CIFSwitch)を公開しており、組織が適用されたパッチと緩和策の効果を検証するのに役立ちます。
CIFSwitchは、最近開示されたLinuxシステムに影響を与える一連の権限昇格の脆弱性の最新のものであり、これには「[Copy Fail](https://www.bleepingcomputer.com/news/security/new-linux-copy-fail-flaw-gives-hackers-root-on-major-distros/)」、「[Dirty Frag](https://www.bleepingcomputer.com/news/security/new-linux-dirty-frag-zero-day-with-poc-exploit-gives-root-privileges/)」、「[Fragnesia](https://www.bleepingcomputer.com/news/security/new-fragnesia-linux-flaw-lets-attackers-gain-root-privileges/)」、「[DirtyDecrypt](https://www.bleepingcomputer.com/news/security/exploit-available-for-new-dirtydecrypt-linux-root-escalation-flaw/)」、および「[PinTheft](https://www.bleepingcomputer.com/news/linux/exploit-released-for-new-pintheft-arch-linux-root-escalation-flaw/)」などが含まれます。

## [検証のギャップ:自動ペネトレーションテストは1つの質問に答える。あなたには6つ必要。](https://hubs.li/Q048zztN0)
自動ペネトレーションテストツールは実用的な価値を提供しますが、それらは1つの質問に答えるために作られました:攻撃者はネットワークを通過できるか?それらは、あなたのコントロールが脅威をブロックするか、検出ルールが発火するか、クラウド設定が保持されるかをテストするために作られたものではありません。
このガイドでは、検証が必要な6つのサーフェスについて説明します。
[今すぐダウンロード](https://hubs.li/Q048zztN0)