Linux カーネルの ksmbd モジュールに脆弱性があり、リモートでコードが実行される可能性があります。

ksmbd モジュールに重大な脆弱性が確認されました。このモジュールには、Linux カーネルに組み込まれた SMB プロトコルに基づくファイル サーバーの実装が含まれており、カーネル権限でコードをリモートで実行できるようになります。 この攻撃は認証なしで実行できます。システム上で ksmbd モジュールがアクティブ化されていれば十分です。 この問題は、5.15 年 2021 月にリリースされたカーネル 5.15.61 から発生しており、5.18.18 年 5.19.2 月にリリースされたアップデート 2022、XNUMX、および XNUMX で密かに修正されました。 この問題には CVE 識別子がまだ割り当てられていないため、ディストリビューションでの問題を修正する方法に関する正確な情報はありません。

この脆弱性の悪用の詳細はまだ明らかにされておらず、操作を実行する前にオブジェクトの存在を確認しないため、すでに解放されたメモリ領域にアクセスする(Use-After-Free)ことによって脆弱性が引き起こされることだけがわかっています。その上で。 この問題は、smb2_tree_disconnect() 関数が ksmbd_tree_connect 構造体に割り当てられたメモリを解放したが、その後も SMB2_TREE_DISCONNECT コマンドを含む特定の外部リクエストを処理するときにポインタが使用されたままであることが原因です。

前述の脆弱性に加えて、危険性の低い 4 つの問題も ksmbd で修正されました。

  • ZDI-22-1688 - ファイル属性処理コードが外部データを専用バッファにコピーする前に実際のサイズをチェックしないことが原因で、カーネル権限でリモート コードが実行されます。 この脆弱性は、認証されたユーザーのみが攻撃を実行できるという事実によって軽減されます。
  • ZDI-22-1691 - SMB2_WRITE コマンド ハンドラーの入力パラメーターのチェックが間違っているため、カーネル メモリからリモート情報が漏洩します (攻撃は認証されたユーザーのみが実行できます)。
  • ZDI-22-1687 - SMB2_NEGOTIATE コマンド ハンドラーでのリソースの誤った解放による、システムで使用可能なメモリの枯渇によって引き起こされるリモート サービス拒否 (攻撃は認証なしで実行される可能性があります)。
  • ZDI-22-1689 - SMB2_TREE_CONNECT コマンドのパラメータが適切に検証されていないため、リモート カーネルがクラッシュし、バッファの外側の領域からの読み取りが発生します (攻撃は認証されたユーザーのみが実行できます)。

ksmbd モジュールを使用した SMB サーバーの実行のサポートは、リリース 4.16.0 以降の Samba パッケージに含まれています。 ユーザー空間の SMB サーバーとは異なり、ksmbd はパフォーマンス、メモリ消費、および高度なカーネル機能との統合の点でより効率的です。 Ksmbd は、必要に応じて Samba ツールやライブラリと統合できる、高性能で組み込み対応の Samba 拡張機能として宣伝されています。 ksmbd コードは、Samsung の Namjae Jeon と LG の Hyunchul Lee によって書かれ、カーネルは、Linux カーネルの CIFS/SMB2/SMB3 サブシステムのメンテナであり、Samba 開発チームの長年のメンバーである Microsoft の Steve French によって保守されています。 、Samba および Linux での SMB/CIFS プロトコルのサポートの実装に大きく貢献しました。

出所: オープンネット.ru

コメントを追加します