Ubuntu Authd の脆弱性 CVE-2024-9312 が FIX:User ID なりすましが生じる

CVE-2024-9312: Ubuntu Authd Flaw Allows User ID Spoofing

2024/10/14 SecurityOnline — 先日に Canonical が発行したのは、世界中の Ubuntu マシンで ID/Access 管理に使用されている、認証デーモンである Authd の脆弱性 CVE-2024-9312 (CVSS:7.6) に対処するセキュリティ・アドバイザリである。Authd バージョン 0.3.6 未満に影響を及ぼす、この脆弱性の悪用に成功した攻撃者は、ユーザー ID を偽装し、ターゲット・アカウントへの不正アクセスの可能性を手にする。

Authd は安全かつ容易な認証のために設計されており、MS Entra ID などのクラウド・ベース ID プロバイダーに採用され、いくつかの ID プロバイダーも対応中であるという。ただし、Authd がユーザー ID を十分にランダム化していないため、ユーザー ID の衝突が発生する可能性があることを、研究者たちが発見した。Ubuntu のアドバイザリには、「Authd では、username の純粋な関数として、ユーザー ID が割り当てられる。しかい、この UID のセットは、疑似ランダム割り当てが機能するには小さすぎる。その結果として、衝突や悪用に対してシステムが脆弱となる」と記されている。

影響を受けるマシンにおいて、ローカル・アクセス権を持つ攻撃者は、衝突する UID を持つユーザー・アカウントの UID と一致する、ユーザー名を登録できてしまう。それにより、攻撃者は正当なユーザーと同じ権限を取得できる。さらに、このアドバイザリは、「これらの衝突を悪用する攻撃者は、別のマシンで公開されているリソースを、あたかも自分がユーザーであるかのように操作し、デスクトップ環境とサーバー環境の双方に対して、深刻な脅威をもたらす可能性を手にする」と警告している。

この脆弱性の根本的な原因は、Authd がユーザー ID を生成する方法にある。Ubuntu のアドバイザリは、「GenerateID 関数のランダム化が不十分なため、攻撃者はユーザー名の衝突を簡単に予測/操作できる。Authd は。ユーザー ID の一意性をチェックにおいてキャッシュに依存するため、これらのチェックを攻撃者がバイパスするための、いくつかのシナリオが成り立つ。たとえば、システム管理者が “/var/cache” を消去する状況を攻撃者が操作し、既存の UID チェックをバイパスする可能性もある」と指摘している。

さらに、この攻撃は、完全なオフラインで実施できるため、攻撃者はシステム・レート制限をトリガーすることもなく、同じ UID を生成するユーザー名を推測できる。この攻撃の計算コストは​​、シングルコア・システムで 10 分程度と低く、サイバー犯罪者にとって極めて現実的な攻撃ベクターになると、このアドバイザリは推定している。

この脆弱性の悪用に成功した攻撃者は、Authd が展開されているシステムでユーザーを装うことが可能となる。したがって攻撃者は、不正アクセスの達成に加えて、”~/.ssh/authorized_keys” または “~/.config” などの重要なファイルやコンフィグを操作し、さらなる共有ネットワーク・リソースの悪用を引き起こす可能性を手にする。NFSv4 などの特定のネットワーク・プロトコルは保護されるが、大半の Authd デプロイメントにおいて、それらのデフォルトは無効化となっているため、影響を受けるシステムのリスクは増大すると、このアドバイザリは強調している。

すでに Canonical は、Authd のバージョン 0.3.6 をリリースし、脆弱性 CVE-2024-9312 に対処している。このアドバイザリが推奨するのは、パッチを適用したバージョンへと直ちにアップデートし、悪用のリスクを軽減することだ。このアドバイザリでは、修復の一環として、一意であることを保証するユーザー ID を プロバイダーが発行することで、衝突を防ぐことも推奨している。それは、LDAP や Active Directory などの、数多くの OpenID Connect (OIDC) プロバイダーがサポートしている機能である。

外部の ID プロバイダーに依存するかたちで、一意の ID の生成が不可能な場合には、将来の攻撃を防ぐために、Authd のアーキテクチャをさらに変更する必要がある。これらの変更には、特に共有ネットワーク・リソースの場合において、ユーザー ID が正しく同期されるように、複数のマシン間で可変状態を管理することが含まれる。