Linuxカーネルにおけるinotifyの脆弱性は、fsnotify_add_inode_mark_locked()が失敗した際にウォッチカウントがリークしていました。この問題は、inotify_new_watch()でfsnotify_add_inode_mark_locked()が失敗した際に、inc_inotify_watches()のインクリメントを元に戻すdec_inotify_watches()が呼び出されなかったために発生しました。この結果、リソース制限(max_user_watches)が不正に消費され、-ENOSPCエラーを引き起こす可能性があります。本脆弱性は、エラーハンドリングにdec_inotify_watches()の呼び出しを追加することで修正されました。
|