7 ポイント 投稿者 kuroneko 2023-07-20 | 3件のコメント | WhatsAppで共有
  • Qualysは、OpenSSHの転送されたSSHエージェントでリモートコード実行が可能な脆弱性を発見。
  • SSHエージェント転送は主にCI/CDなどで、認証情報を直接保存せず、リモート上にある認証情報を使ってログインを試みる際によく使われる。
  • 脆弱性は、SSHエージェントがPKCS11サポートを許可する部分で発生。
    • PKCS11サポートのため、リモートユーザーが信頼できる場所にある共有ライブラリをロードして閉じることを許可していた。
    • Ubuntu Desktopに存在するすべてのデフォルトインストール済み共有ライブラリをテストした結果、デフォルトライブラリは通常、閉じられることを想定して設計されていないため、SSHエージェントで閉じる際にエラーが発生。
    • こうしたエラーはいくつかのシステムシグナルを発生させ、これらを組み合わせることでリモートから任意のコードを実行することに成功。
  • OpenSSHは、単純にリモートPKCS11サポートを無効化し、共有ライブラリをホワイトリストで管理するよう修正。
    • 従来はlibフォルダ配下のすべての共有ライブラリをロードできた。
  • SSHエージェント転送機能を使っている場合は、不要であればPKCS11サポートを無効化するべき。

3件のコメント

 
galadbran 2023-07-20

これは個人PCで設定を無効にするのでしょうか? それともサーバー側の設定でしょうか……

 
kuroneko 2023-07-21

ssh-agent forwarding を使ったことがなければ、まったく影響はないようです。

 
kuroneko 2023-07-20

脆弱性の詳細説明を少し見てみたのですが、よく理解できませんね……
SIGBUSSIGSEGVハンドラがどうこうでSIGTRAPが発生して、スタックバッファに何かを保存しておいて、そちらにジャンプするよう誘導して……

それらをすべてライブラリのロード/アンロードで制御するというのですが、正直何を言っているのかよく分かりません。
まあ、そういうものなんだな……という感じですね。

興味のある方は、例まで含まれているような非常に詳しい文書があるので、
一度読んでみることをおすすめします.