|Summary:||CVE-2008-1375 kernel: race condition in dnotify (local DoS, local roothole possible)|
|Product:||[Other] Security Response||Reporter:||Jan Lieskovsky <jlieskov>|
|Component:||vulnerability||Assignee:||Red Hat Product Security <security-response-team>|
|Status:||CLOSED ERRATA||QA Contact:|
|Version:||unspecified||CC:||anton, aviro, dhoward, dwu, kreilly, lwang, qcai, security-response-team, vgoyal|
|Fixed In Version:||Doc Type:||Bug Fix|
|Doc Text:||Story Points:||---|
|Last Closed:||2010-12-21 17:15:58 UTC||Type:||---|
|oVirt Team:||---||RHEL 7.3 requirements from Atomic Host:|
|Cloudforms Team:||---||Target Upstream Version:|
|Bug Depends On:||439755, 439756, 439757, 439758, 439759|
Description Jan Lieskovsky 2008-03-31 07:22:07 UTC
Description of problem: Alexander Viro has reported the following serious Linux kernel issue: <cite> fcntl_dirnotify() adds an element to inode->i_dnotify. It contains a reference to struct file and to struct files_struct (both not contributing to refcounts). filp_close() (called when reference to file is removed from descriptor table) purges element with file/descriptor table in question from ->i_dnotify. The problem is, fcntl() can race with close() from another thread, inserting element *after* close() is finished. If that happens, the sucker is stuck there forever, long after the struct file it refers to had been freed/reused/etc. Actually, even having the (in-core) inode freed and reused doesn't clean it up - "->i_dnotify is empty on allocated inode" is guaranteed by slab constructor; freeing and reallocating won't touch it at all, since the list must have been emptied before we'd dropped the final reference to inode. </cite> NOTE: Please note this issue is NOT public yet, so handle each information ===== about this one as confidential.
Comment 6 Tomas Hoger 2008-05-05 09:07:37 UTC
Public now, lifting embargo: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=214b7049a7929f03bbd2786aaef04b8b79db34e2 http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-126.96.36.199 Fixed upstream in 188.8.131.52.
Comment 7 Fedora Update System 2008-05-14 21:31:54 UTC
kernel-184.108.40.206-92.fc8 has been pushed to the Fedora 8 stable repository. If problems still persist, please make note of it in this bug report.
Comment 8 Vincent Danen 2010-12-21 17:15:58 UTC
This was addressed via: Red Hat Enterprise Linux version 3 (RHSA-2008:0211) Red Hat Enterprise Linux version 5 (RHSA-2008:0233) Red Hat Enterprise Linux version 4 (RHSA-2008:0237)