
Linuxカーネルのksmbdモジュール(ネットワーク上のファイル共有のためのSMB(Server Message Block)プロトコルの実装を担う)に、use-after-freeタイプの脆弱性が発見されました。CVE-2025-37899として識別されたこの脆弱性は、権限が昇格されたリモートコード実行を可能にする可能性があります。
この発見は、研究者のSean Heelan氏がOpenAIのo3モデルを使用して行ったものであり、複雑な脆弱性の特定における人工知能の可能性を示しています。この脆弱性はSMB2/3のlogoffコマンドの処理に存在し、特定の並行条件下で悪用される可能性があります。
use-after-free脆弱性は、logoffコマンドの処理中にスレッドがsess->userオブジェクトに関連付けられたメモリを解放した際に発生します。別のスレッドが解放されたこのオブジェクトにアクセスしようとすると競合状態が発生し、メモリ破損、そして潜在的に任意のコード実行につながる可能性があります。
脆弱なコードはksmbdモジュール内の関数にあります。オブジェクトへのアクセスにおける適切な同期の欠如により、メモリが別のスレッドによってまだ使用されている間に解放されることを許してしまいます。
smb2_session_logoffsess->user// Ejemplo simplificado del código vulnerable
void smb2_session_logoff(struct ksmbd_work *work) {
struct smb_session *sess = work->session;
if (sess->user) {
ksmbd_free_user(sess->user); // Liberación de la memoria
sess->user = NULL;
}
}
// Otro hilo podría acceder a sess->user aquí, después de la liberación
リモートの攻撃者は、sess->userオブジェクトへのアクセスに競合状態を作り出すように設計された一連のSMB2/3コマンドを送信することで、この脆弱性を悪用できる可能性があります。これは、複数のSMB接続を確立し、オブジェクトへの並行アクセスとセッションの終了が同時に発生するように操作することで達成され得ます。
この脆弱性の悪用に成功すると、攻撃者は以下を行うことができる可能性があります:
カーネル権限で影響を受けたシステム上で任意のコードを実行する。 機密情報への不正アクセスを取得する。 システムの完全性と可用性を損なう。
パッチ お使いのLinuxディストリビューションが提供するセキュリティパッチを速やかに適用することを推奨します。主要なディストリビューションはすでにアップデートの公開に取り組んでいます。
// Después (arreglado)
void smb2_session_logoff(struct ksmbd_work *work) {
struct smb_session *sess = work->session;
spin_lock(&sess->user_lock); // Lock para proteger el acceso concurrente
if (sess->user) {
ksmbd_free_user(sess->user);
sess->user = NULL;
}
spin_unlock(&sess->user_lock); // Unlock después de la operación
}
また、sess->userにアクセスする関数でも、同様に保護を適用する必要があります:
// Ejemplo de acceso seguro en otra función
void smb2_check_user_session(struct smb_session *sess) {
spin_lock(&sess->user_lock);
if (sess->user) {
// Acceso seguro a sess->user
// ...
}
spin_unlock(&sess->user_lock);
}
すぐにパッチを適用できない場合は、以下を推奨します:
必要でない場合はksmbdモジュールを無効化する。 ファイアウォールを使用してSMBポート(445)へのアクセスを制限する。 SMBトラフィックの監視や異常検知などの追加のセキュリティ対策を実装する。 参考情報 CVE-2025-37899:CVEへのリンク(利用可能になり次第) 発見の発表:元の記事または公開情報へのリンク Linuxカーネルのリポジトリ:影響を受けるソースコードへのリンク
この脆弱性の発見者であるSean Heelan氏と、その緩和に協力してくださったサイバーセキュリティコミュニティに感謝します。