Bug 608583 (CVE-2010-2248) - CVE-2010-2248 kernel: cifs: Fix a kernel BUG with remote OS/2 server
Summary: CVE-2010-2248 kernel: cifs: Fix a kernel BUG with remote OS/2 server
Status: CLOSED ERRATA
Alias: CVE-2010-2248
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
(Show other bugs)
Version: unspecified
Hardware: All Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard: reported=20100628,public=20100331,imp...
Keywords: Security
Depends On: 608584 608585 608586 608587 608588
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-06-28 08:19 UTC by Eugene Teo (Security Response)
Modified: 2016-06-10 22:32 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-06-10 22:32:34 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0606 normal SHIPPED_LIVE Important: kernel security and bug fix update 2010-08-05 16:44:53 UTC
Red Hat Product Errata RHSA-2010:0610 normal SHIPPED_LIVE Important: kernel security and bug fix update 2010-08-10 18:01:15 UTC
Red Hat Product Errata RHSA-2010:0631 normal SHIPPED_LIVE Important: kernel-rt security and bug fix update 2010-08-18 07:58:39 UTC

Description Eugene Teo (Security Response) 2010-06-28 08:19:38 UTC
Description of problem:
While chasing a bug report involving a OS/2 server, I noticed the server sets pSMBr->CountHigh to a incorrect value even in case of normal writes. This results in 'nbytes' being computed wrongly and triggers a kernel BUG at mm/filemap.c.
    
    void iov_iter_advance(struct iov_iter *i, size_t bytes)
    {
            BUG_ON(i->count < bytes);    <--- BUG here
    
Why the server is setting 'CountHigh' is not clear but only does so after writing 64k bytes. Though this looks like the server bug, the client side crash may not be acceptable.
    
The workaround is to mask off high 16 bits if the number of bytes written as returned by the server is greater than the bytes requested by the client.

Upstream commit:
http://git.kernel.org/linus/6513a81e9325d712f1bfb9a1d7b750134e49ff18 (v2.6.34-rc4)

Comment 4 Eugene Teo (Security Response) 2010-06-29 02:22:43 UTC
Statement:

This issue did not affect the version of Linux kernel as shipped with Red Hat Enterprise Linux 3 as it did not have support for CIFS. Future updates in Red Hat Enterprise Linux 4, 5, and Red Hat Enterprise MRG may address this flaw.

Comment 5 errata-xmlrpc 2010-08-05 16:47:51 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 4

Via RHSA-2010:0606 https://rhn.redhat.com/errata/RHSA-2010-0606.html

Comment 6 errata-xmlrpc 2010-08-10 18:01:36 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2010:0610 https://rhn.redhat.com/errata/RHSA-2010-0610.html

Comment 7 errata-xmlrpc 2010-08-17 15:53:02 UTC
This issue has been addressed in following products:

  MRG for RHEL-5

Via RHSA-2010:0631 https://rhn.redhat.com/errata/RHSA-2010-0631.html


Note You need to log in before you can comment on or make changes to this bug.