CVE-2013-1763
読み:スィーヴィーイー-にーゼロいちさん-いちななろくさん
外語:CVE-2013-1763
Linuxカーネルに存在した脆弱性の一つ。sock_diagでの配列境界エラーによる権限昇格の脆弱性。
概要
MITRE社の脆弱性情報データベースCommon Vulnerabilities and Exposures(CVE)に登録されている脆弱性の一つ。
これは、sock_diagの脆弱性により、ログイン可能な一般ユーザーがroot権限で任意のコードを実行することができるという重大なセキュリティホールである。
- 影響: Linux Kernel 3.0 ‐ 3.7.9
特徴
問題
原因
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);
再検索