CVE-2013-1763
読み:スィーヴィーイー-にーゼロいちさん-いちななろくさん
外語:CVE-2013-1763

 Linuxカーネルに存在した脆弱性の一つ。sock_diagでの配列境界エラーによる権限昇格の脆弱性。
目次

概要
 MITRE社の脆弱性情報データベースCommon Vulnerabilities and Exposures(CVE)に登録されている脆弱性の一つ。
 これは、sock_diagの脆弱性により、ログイン可能な一般ユーザーがroot権限で任意のコードを実行することができるという重大なセキュリティホールである。

特徴

問題

原因
 net/core/sock_diag.c内の__sock_diag_rcv_msg()関数で、nlmsg_typeがSOCK_DIAG_BY_FAMILYの処理において、アドレスファミリーの値がAF_MAX未満かどうかの確認を怠っていた。
 このため、大きなアドレスファミリー値を用いることで、sock_diag_handlers[]構造体に対して境界外アクセスを生じさせることができた。

修正
 net/core/sock_diag.cの__sock_diag_rcv_msg関数に、範囲確認を追加する。
 修正は「sock_diag: Fix out-of-bounds access to sock_diag_handlers[]」と題されている。
     if (nlmsg_len(nlh) < sizeof(*req))
         return -EINVAL;
 
+    if (req->sdiag_family >= AF_MAX)
+        return -EINVAL;
+
     hndl = sock_diag_lock_handler(req->sdiag_family);

再検索