Bug 168661
Summary: | CVE-2005-3044 lost fput could lead to DoS | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 3 | Reporter: | Mark J. Cox <mjc> |
Component: | kernel | Assignee: | Ernie Petrides <petrides> |
Status: | CLOSED ERRATA | QA Contact: | Brian Brock <bbrock> |
Severity: | high | Docs Contact: | |
Priority: | medium | ||
Version: | 3.0 | CC: | jparadis, lwang, peterm, petrides, sct, security-response-team |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | reported=20050914,source=vendorsec,public=20050909,impact=important | ||
Fixed In Version: | RHSA-2006-0140 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-01-19 16:00:03 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 168424 |
Comment 2
Jim Paradis
2005-09-19 19:02:35 UTC
It's worse than just a missing fput(). The 2.4 code does: struct file *file = fget(fd); struct tty_struct *real_tty; if (!fd) return -EBADF; It's checking fd for != 0 instead of file. So it's (a) failing to operate correctly if fd == 0 (which is a perfectly legal fd), and is (b) failing to detect when fget() returns NULL. The fix is simple and localised. There is no need at all to back-port fget/fput_light() --- those are optimisations available only in 2.6. For 2.4, just use fget()/fput(). Fix posted for internal review on 17-Oct-2005. A fix for this problem has just been committed to the RHEL3 U7 patch pool this evening (in kernel version 2.4.21-37.6.EL). A fix for this problem has also been committed to the RHEL3 E7 patch pool this evening (in kernel version 2.4.21-37.0.1.EL). An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0140.html |