これらの欠陥が悪用されると、攻撃者は機密情報に不正にアクセスしたり、一般的に問題を引き起こしたりする可能性があります
という情報が最近公開されました Linux カーネルの脆弱性が発見されました CVSS スコアが 10 の場合 SMB サーバー上、認証されていないユーザーがリモートでコードを実行できるようにします。
見つかったバグにより、リモートの攻撃者が影響を受けるインストールで任意のコードを実行できるようになります。 この脆弱性を悪用するために認証は必要ありませんが、ksmbd が有効になっているシステムのみが脆弱です。
SMB2_TREE_DISCONNECT コマンドの処理に特定の問題が存在します。 この問題は、オブジェクトに対して操作を実行する前に、そのオブジェクトが存在することを検証しないことが原因で発生します。 攻撃者はこの脆弱性を悪用して、カーネルのコンテキストでコードを実行できます。
脆弱性の詳細
この脆弱性により、リモートの攻撃者は影響を受ける Linux カーネルのインストールで任意のコードを実行できます。 この脆弱性を悪用するために認証は必要ありませんが、ksmbd が有効になっているシステムのみが脆弱です。SMB2_TREE_DISCONNECT コマンドの処理に特定の問題が存在します。 この問題は、オブジェクトに対して操作を実行する前にオブジェクトの存在を検証していないために発生します。 攻撃者はこの脆弱性を悪用して、カーネルのコンテキストでコードを実行できます。
SMB 要求のタイプに応じて、新しい各スレッドがコマンドをユーザー空間 (ksmbd.mountd) に渡すことを決定する場合があることが言及されています。 現在、DCE/RPC コマンドは、ユーザー空間によって処理されるように識別されています。 Linux カーネルをより有効に活用するために、コマンドを作業項目として扱い、それらを ksmbd -io kworker スレッド ハンドラーで実行することにしました。
これにより、負荷が増加した場合はカーネルが追加のワーカー スレッドを開始し、逆に負荷が減少した場合は追加のワーカー スレッドを強制終了するため、マネージャーは多重化できます。
サーバー デーモンが起動すると、起動時に fork スレッド (ksmbd/インターフェイス名) を起動し、専用ポート 445 を開いて SMB 要求をリッスンします。 新しいクライアントがリクエストを行うたびに、フォーカー スレッドはクライアントの接続を受け入れ、クライアントとサーバー間の専用通信チャネル用の新しいスレッドを作成します。 これにより、クライアントからの SMB 要求 (コマンド) を並行して処理できるようになり、新しいクライアントが新しい接続を確立できるようになります。
ksmbd は一部のユーザーの間で警告を発しました 昨年、合併について話し合った人。 独自のバージョンの Samba を提供するドイツのコンピューター会社である SerNet は、ブログ投稿で、ksmbd は素晴らしいが、少し未熟に見えたと述べています。 さらに、SerNet の Samba+ チームはブログ投稿で、SMB サーバーをカーネル空間に追加することの価値は、「利用可能なものからパフォーマンスの最後のビットを絞り出す」リスクに値しない可能性があると述べています。
幸いなことに、セキュリティ研究者 Shir Tamari が Twitter で説明しているように、Samsung の「実験的な」ksmbd モジュールを実行しておらず、Samba を使用している場合は、完全に安全です。 「ksmbd は新しいものです。 ほとんどのユーザーはまだ Samba を使用しており、影響を受けません。 基本的に、ksmbd で SMB サーバーを実行していない場合は、週末を楽しんでください」とタマリ氏はツイートしました。
ゼロデイ イニシアチブによると、 SMB2_TREE_DISCONNECT コマンドの処理に、解放後使用の脆弱性が存在する ksmbd の脆弱性が明らかになりました。 ZDI によると、この問題は、オブジェクトに対して操作を実行する前に、ksmbd がオブジェクトの存在を検証しないことが原因で発生します。
ksmbd を使用している場合は、Samba に切り替える以外に回避策があります。5.15.61 月にリリースされた Linux カーネル バージョン 2 以降にアップグレードします。 このカーネル アップデートでは、ksmbd の他のいくつかの問題も修正されています: SMB2_TREE_CONNECT の境界外読み取り (パッチ ノートによると、無効な要求がメッセージを送信しない可能性がある)、および smbXNUMX_handle_negotiate でのメモリ リークにより不正な解放が発生する可能性があります。メモリー。
最後にあなたが それについてもっと知りたい、詳細を確認できます 次のリンクで。