OpenSSL Projectが米国時間10月25日に「OpenSSL 3.0.7」のリリースを予告した際、同リリースは深刻度が「緊急」(Critical)の脆弱性を修正したバージョンになると発表していた。その後、同プロジェクトは11月1日、OpenSSL 3.0.7をリリースし、その発表の中で新バージョンで対処した同脆弱性の深刻度を引き下げた。
提供:iStockphoto
深刻度が引き下げられたとはいえ、脆弱性の問題が消えてなくなったわけではない。CVE-2022-3786(「X.509証明書の電子メールアドレスにおける可変長バッファーのオーバーフロー」)とCVE-2022-3602(「X.509証明書の電子メールアドレスにおける4バイトバッファーのオーバーフロー」)はいずれも「重要」(High)と評価されている。これは、両脆弱性が依然として厄介な問題を引き起す恐れがあることを意味している。
問題を抱えているのは、OpenSSLのバージョン3.0.0〜3.0.6だ。OpenSSLのバージョン1.1.1あるいは1.0.2にはこれらの脆弱性は含まれていない。ただし、OS自体がOpenSSL 1.xを使用しているからといって、これらの問題とは無関係だと考えてはいけない。アプリケーションやコンテナーが脆弱性を抱えたバージョンを使用している可能性もあるためだ。つまり、安心する前にコードをチェックした方がよいということだ。
具体的には、CVE-2022-3602で憂慮すべき点は、X.509証明書の検証によってバッファーオーバーフローが引き起こされる可能性があるというところにある。つまり攻撃者は、巧妙な細工を施したメールアドレスによって、スタック上に存在する、攻撃者の制御下にある4バイトをオーバーフローさせることが可能になる。これにより、システムクラッシュやリモートコード実行(RCE)といった攻撃を仕掛けられるようになる。
一方、CVE-2022-3786で憂慮すべき点は、巧妙な細工が施されたメールアドレスフィールドを伴うX.509証明書をOpenSSLが処理する際に、スタックベースのバッファーオーバーフローが引き起こされる可能性があるというところだ。ここでもシステムクラッシュやRCEといった攻撃の可能性がある。
問題につながる最も一般的なシナリオは、悪意あるクライアントがサーバーに接続し、サーバーがクライアント認証を要求する場合、あるいはクライアントが悪意あるサーバーと接続する場合だ。ただ、実際の攻撃は現時点で確認されていない。
ソフトウェアサプライチェーンのセキュリティを手掛けるSonatypeの共同創業者で最高技術責任者(CTO)のBrian Fox氏は、「メモリーオーバーフロー関連の脆弱性は最悪のシナリオにつながる可能性があるものの、今回の脆弱性を悪用する難易度は極めて高いと考えられる。この脆弱性を悪用するには、命名機関によって署名されるか信頼される、不正な形式の証明書が必要となる。つまり命名機関は、この種の脆弱性を狙うために細工された証明書の作成をただちに抑止することで、攻撃のスコープをさらに限定できるはずだ」と述べている。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。