Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】OneLogin Bug Let Attackers Use API Keys to Steal OIDC Secrets and Impersonate Apps

2025年10月01日に「The Hacker News」が公開したITニュース「OneLogin Bug Let Attackers Use API Keys to Steal OIDC Secrets and Impersonate Apps」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

OneLoginのID管理システムに重大なセキュリティ脆弱性が発見された。この欠陥を悪用されると、アプリケーションの認証に必要な秘密情報が盗まれ、攻撃者がそのアプリになりすます危険性があった。CVSSスコアは7.7で、早急な対策が求められる。

ITニュース解説

OneLoginというID・アクセス管理(IAM)ソリューションに、深刻なセキュリティ上の欠陥が発見されたというニュースが報じられた。この欠陥は、特定の条件下で攻撃者がAPIキーを悪用することで、OpenID Connect(OIDC)を利用するアプリケーションの秘密情報、具体的には「クライアントシークレット」を盗み出し、そのアプリケーションになりすますことが可能になるというものだ。システムエンジニアを目指す上で、このような脆弱性のメカニズムやそれが引き起こす影響を理解することは非常に重要である。

まず、OneLoginとは何かについて説明しよう。OneLoginは、企業や組織が利用する数多くのクラウドサービスや社内システムへのアクセスを、まとめて管理するための重要なサービスである。従業員は一つのIDとパスワードで様々なサービスにログインできるようになり、企業は誰がどのサービスにアクセスしているかを一元的に監視・制御できる。このような仕組みをID・アクセス管理(IAM)と呼ぶ。IAMは、セキュリティと利便性の両方を向上させるために不可欠なインフラストラクチャだ。もしIAMシステムに脆弱性があれば、それが組織全体のセキュリティに大きな影響を及ぼすことになる。

次に、この脆弱性の中心となるOpenID Connect(OIDC)について見てみよう。OIDCは、インターネット上でユーザーが安全に認証を行うための標準的な技術である。例えば、Googleアカウントを使って他のWebサービスにログインするような場面で利用されている技術の一つだ。OIDCでは、ユーザーの認証が成功した後、そのユーザーに関する情報(名前やメールアドレスなど)をWebサービスに安全に提供する。この際、Webサービス自身も、自分が正当なサービスであることをOIDCプロバイダ(例えばGoogleのような認証を提供する側)に証明する必要がある。この証明に使われるのが「クライアントシークレット」と呼ばれる秘密情報である。クライアントシークレットは、アプリケーションそのものの「パスワード」のようなもので、これが漏洩すると、攻撃者がそのアプリケーションになりすましてOIDCプロバイダと通信し、不正な情報を取得したり、ユーザーの認証情報を悪用したりする危険がある。

そして、もう一つの重要な要素がAPIキーだ。APIとは、Application Programming Interfaceの略で、異なるソフトウェアやサービスが互いに連携するための窓口のようなものだ。Webサイトが地図サービスを表示したり、スマートフォンアプリが天気予報を取得したりする際にAPIが使われる。APIキーは、このAPIを利用する際に、その利用者が正当なユーザーであることを証明するための「秘密の鍵」のような役割を果たす。APIキーは通常、特定の権限や利用制限と紐付けられており、これを持っていることで、プログラムは他のサービスと安全にデータをやり取りできる。そのため、APIキーは非常に慎重に管理されるべき機密情報である。

今回の脆弱性、CVE-2025-59363は、このAPIキーの取り扱いに問題があった結果として発生した。ニュース記事の説明によると、「攻撃者がAPIキーを使ってOIDCの秘密情報(クライアントシークレット)を盗むことが可能だった」とある。通常、APIキーは特定の機能へのアクセスを許可するが、この脆弱性では、APIキーが悪用されることで、本来ならばアクセスできないはずのOIDCクライアントシークレットが不正に取得される可能性があったのだ。具体的にどのようなメカニズムでAPIキーがOIDCクライアントシークレットへのアクセスに利用されたのかは詳細に説明されていないが、考えられるのは、APIキーによってアクセス可能なAPIエンドポイント(機能の入り口)に、OIDCクライアントシークレットを不適切に開示する機能が含まれていたか、あるいはAPIキーの検証ロジックに不備があり、特定のAPIキーを持つ攻撃者が、本来許可されていない権限で機密情報にアクセスできた可能性だ。

このクライアントシークレットが攻撃者に盗まれてしまうと、そのアプリケーションになりすまし(Impersonate Apps)、OIDCを利用した認証プロセスを悪用することが可能になる。例えば、攻撃者は盗んだクライアントシークレットを使って、正規のアプリケーションになりすまし、OIDCプロバイダからユーザーの認証情報を取得したり、不正なアクセスを試みたりするかもしれない。これは、まるで建物の鍵が盗まれて、その鍵を使って泥棒が建物に入り、中の貴重品を盗むような状況に近い。アプリケーションの身元証明が破られることは、そのアプリケーションを利用するユーザーのセキュリティにも直接的な影響を与えることになる。

この脆弱性には、CVSSスコア7.7(10点満点中)という高い評価が与えられている。CVSS(Common Vulnerability Scoring System)は、脆弱性の深刻度を客観的に評価するための国際的な標準指標である。スコア7.7は「高(High)」カテゴリに分類され、この脆弱性が無視できない深刻なリスクを持っていることを示している。このような高いスコアが付くのは、攻撃が成功した場合の影響が大きく、また攻撃の難易度が比較的低い可能性があるためだ。

システムエンジニアを目指す皆さんにとって、このニュースから学ぶべきことは多い。第一に、どのようなサービスでも脆弱性が発生しうるということ。常に最新のセキュリティ情報を追いかけ、利用しているシステムやライブラリの脆弱性情報を確認し、適切なアップデートを適用する重要性を理解する必要がある。第二に、APIキーやクライアントシークレットといった機密情報は、厳重に管理しなければならないという教訓だ。これらの情報が漏洩すると、システム全体のセキュリティが脅かされる可能性がある。セキュアな設計や実装、運用が、いかに重要であるかを改めて認識するきっかけとなるだろう。セキュリティは、システム開発のあらゆる段階で考慮すべき最優先事項の一つなのだ。

関連コンテンツ

関連IT用語

関連ITニュース