NixとLix、ローカルでroot権限を得られるデーモンの脆弱性を修正
NixとLixは10月13日、デーモン(daemon)の脆弱性を公開しました。組み合わせると、root権限への権限昇格が可能です。修正は、Nix 2.35.3とLix 2.95.4のほか、複数のパッチリリースに含まれています。
3 分で読めます

数字で見る
- CVSS score of the most serious Nix flaw
- 8.4
- Nix security advisories published on October 13
- 5
- Nix release that introduced the repair flaw
- 2.1
NixとLixの両プロジェクトは2026年10月13日、セキュリティ上の欠陥を共同で公開しました。これらを組み合わせると、パッケージをビルドするデーモンが動くマシンでroot権限を得られます。修正版は同じ日に公開されました。信頼できないユーザーがデーモンに接続できるマルチユーザー構成のNixやLixは、今すぐアップグレードすべきです。
Nixは、LinuxディストリビューションのNixOSの土台となるパッケージマネージャー兼ビルドシステムです。Lixは、Nixの別実装です。どちらも、ローカルユーザーの代わりにソフトウェアをビルドするバックグラウンドサービス、つまりデーモンを動かします。
脆弱性の内容
NixOS Discourseの共同アドバイザリには、いくつかの問題が挙げられています。最も深刻なものでは、ローカルユーザーが、後でrootとして実行されるファイルを改ざんできます。
| 問題 | 影響を受ける環境 | 深刻度 |
|---|---|---|
| 権限のない「repair」(修復)リクエストで、ストアのファイルが検証前に置き換えられる | LinuxとmacOSのマルチユーザー環境 | 重要、10点満点中8.4(Nixのアドバイザリ) |
builtins.genListの整数オーバーフローにより、ヒープメモリへの書き込みが起きる | 信頼できないNixコードを評価するシステム | 警告 |
| ビルドのサンドボックスプロファイルがサイズ上限を超えると、macOSのサンドボックスから脱出できる | sandbox = trueまたはrelaxedを設定したmacOS | 警告 |
| マルチユーザー用インストーラーが、ストアのファイルをインストールしたユーザーの所有のまま残す | スクリプト形式のインストーラーによる新規インストール。NixOSは影響を受けない | 警告、5.6 |
| デーモンがビルドユーザーからの接続を受け付ける | macOSとFreeBSD。Linuxは影響を受けない | 注意、3.8 |
Nix側は、GitHubのアドバイザリを5件公開しました。CVE番号は、まだどれにも割り当てられていません。
root権限昇格の仕組み
主なバグは、デーモンがNixストアにファイルを追加する方法にあります。Nixストアは、ビルドされたすべてのソフトウェアが置かれるディレクトリです。NixのアドバイザリGHSA-jwvx-xq5j-gc56によると、デーモンはアップロードされたアーカイブを、最終的なストアパスへ直接展開していました。アーカイブのハッシュを確認するのは、その後でした。
脆弱なバージョンでは、信頼できないユーザーが「repair」(修復)も要求できました。repairは、既存のストアパスを置き換える処理です。ハッシュの確認に失敗しても、悪意のあるファイルはディスク上に残りました。アドバイザリによると、デーモンがrootで動いている場合、allowed-usersに載っているどのユーザーもrootとしてコードを実行できました。
この欠陥は、ストリーミングアップロードを追加したNix 2.1までさかのぼります。修正により、信頼できないユーザーはrepairモードを使えなくなりました。さらに、アップロードはいったん専用の一時フォルダーに展開され、ハッシュが一致した後でのみ所定の場所へ移されます。
アドバイザリは、発見者としてGuthrie McAfee Armstrong氏と、joaoviictortiという名で知られる研究者を挙げています。
インストールすべきバージョン
| プロジェクト | 修正版 |
|---|---|
| Nix | 2.35.3, 2.34.9, 2.31.6, 2.30.6, 2.28.8 |
| Lix | 2.95.4, 2.94.3 |
アドバイザリによると、サポートが終了したNixのブランチ2.29、2.32、2.33は、脆弱だとみなすべきです。Lix 2.93以前も影響を受けますが、すでにメンテナンスされていません。NixOSのunstableチャンネルと26.05チャンネルでは、更新の作業が進んでいます。
パッケージマネージャーのGuixは影響を受けません。
数か月がかりのタイムライン
Lixチームの解説記事からは、調整にどれだけ時間がかかったかがわかります。オーバーフローのバグがチームに報告されたのは7月29日で、修正は8月29日に用意できました。macOSの権限昇格チェーンは9月12日に、サンドボックス脱出は10月9日に届きました。
Lixの記事は、同プロジェクトのデーモンがセキュリティ境界ではないと強調しています。ビルドファームに対しては、可能であればデーモンを権限のないユーザーで動かすよう勧めています。
Tech AI Wireは先月、別のサプライチェーン上の懸念として、改ざんされたstripバイナリでNixOSにバックドアを仕込める問題を報じました。
開発者にとっての意味
- マルチユーザー環境はすべてアップグレードすること。 複数の人やサービスがNixデーモンとやり取りするマシンは、どれも攻撃にさらされています。シングルユーザー環境のリスクは低めですが、それでも更新すべきです。
- Lixは正しい手順でアップグレードすること。 アドバイザリは、単に
nix upgrade-nixを実行すると、新しいバージョンを入れる前にLix 2.95.xがアンインストールされる場合があると警告しています。代わりに、Lix 2.95.4のアップグレード用スクリプトを使ってください。 - スクリプトでインストールした後は、ストアの所有者を確認すること。 Nixをマルチユーザー用スクリプトでインストールした場合は、アドバイザリが示すコマンドで、すべてのストアパスの所有者をrootに戻せます。
allowed-usersを監査すること。 アップグレードするまでは、このリストに載っている全員が事実上rootになれます。ビルドが必要なアカウントだけに絞ってください。- 信頼できないNixコードは、信頼できないものとして扱うこと。 外部の人からのプルリクエストを評価するCIシステムは、オーバーフローのバグに当たる可能性があります。そうした評価は、隔離されたマシンで実行してください。
出典
関連記事

Archinstall 4.5、AArch64のブート対応とRTカーネルを追加
2026年9月29日公開のArchinstall 4.5(アーチインストール)は、64ビットARM機をGRUBやLimineで構成できるようにし、リアルタイムカーネルを加え、TLS検証を有効にしました。

改ざんされたstripがNixOS全体にバックドアを仕込める
研究者が、Ken Thompsonのtrusting-trust攻撃をコンパイラではなくGNU stripで構成し、NixOSインストーラのほぼ全バイナリにバックドアを仕込みました。

OpenSSH 10.6、ポスト量子署名を追加しリリースを高速化
10月6日に公開されたOpenSSH 10.6は、ポスト量子(post-quantum)署名方式を追加し、LZ77圧縮をオフにしました。AIによるバグ報告が殺到するなか、修正をより早く届けると約束しています。