Bug 496572 (CVE-2009-1633) - CVE-2009-1633 kernel: cifs: fix potential buffer overruns when converting unicode strings sent by server
Summary: CVE-2009-1633 kernel: cifs: fix potential buffer overruns when converting uni...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2009-1633
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 496573 496574 496575 496576 496577
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-20 06:02 UTC by Eugene Teo (Security Response)
Modified: 2021-11-12 19:58 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-06-10 22:29:08 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:1106 0 normal SHIPPED_LIVE Important: kernel security and bug fix update 2009-06-16 22:34:13 UTC
Red Hat Product Errata RHSA-2009:1157 0 normal SHIPPED_LIVE Important: kernel-rt security and bug fix update 2009-07-14 19:11:05 UTC
Red Hat Product Errata RHSA-2009:1211 0 normal SHIPPED_LIVE Important: kernel security and bug fix update 2009-08-13 15:34:46 UTC

Comment 5 Eugene Teo (Security Response) 2009-05-13 02:48:15 UTC
From Jeff Layton:
The cifs code regularly has to convert strings from ucs2_le (a double byte encoding scheme used on windows) to the local NLS charset. The routines that do this have a very poor scheme for handling buffer lengths.

The string conversion routines accept only a single length parameter specified in units of the number of wide characters that it should try to convert. It's assumed therefore that the destination buffer will be big enough. Some measures are in place now to try to ensure this, but they really aren't sufficient. What's needed is a new set of conversion routines that take both the source and destination buffer lengths into account.

The patchset adds these routines and converts the appropriate callers to use them. In addition, it removes a very large piece of "experimental" NTLMSSP code that I found to be completely unreachable. That code was using the old routines and it's simpler (and better) to just remove that code rather than convert it.

The upstream commits are:

http://git.kernel.org/linus/27b87fe52baba0a55e9723030e76fce94fabcea4
http://git.kernel.org/linus/afe48c31ea5c74eaac58621ce1c85ae8187c4383
http://git.kernel.org/linus/18295796a30cada84e933d805072dc2248d54f98
http://git.kernel.org/linus/9e39b0ae8af46c83b85dae7ff5251911a80fce5a
http://git.kernel.org/linus/d185cda7712fd1d9e349174639d76eadc66679be
http://git.kernel.org/linus/2edd6c5b0517b9131ede9e74cb121898ccd73042
http://git.kernel.org/linus/20418acd6874792359b42c12d159f42f17593f34
http://git.kernel.org/linus/f58841666bc22e827ca0dcef7b71c7bc2758ce82
http://git.kernel.org/linus/460b96960d1946914e50316ffeefe7b41dddce91
http://git.kernel.org/linus/59140797c5817363087b0ffb46e6bb81a11fe0dc
http://git.kernel.org/linus/cc20c031bb067eb3280a1c4b5c42295093e24863
http://git.kernel.org/linus/066ce6899484d9026acd6ba3a8dbbedb33d7ae1b
http://git.kernel.org/linus/69f801fcaa03be83d58c564f00913b7c172808e4
http://git.kernel.org/linus/7fabf0c9479fef9fdb9528a5fbdb1cb744a744a4
http://git.kernel.org/linus/66345f50f070ae7412a28543ee197cb5eff73598
http://git.kernel.org/linus/d37dc42ab6f040b8f0f2962ab219c5b2accf748d
http://git.kernel.org/linus/7b0c8fcff47a885743125dd843db64af41af5a61
http://git.kernel.org/linus/968460ebd8006d55661dec0fb86712b40d71c413
http://git.kernel.org/linus/341060273232a2df0d1a7fa53abc661fcf22747c

Update (May 15, 2009):
And this commit too:
cifs: fix error handling in parse_DFS_referrals
http://git.kernel.org/linus/d8e2f53ac99f4ce7d63807a84f98d1b80df598cf
(this patch is in Steve's tree but not yet in Linus'. It should make its way there soon though.)

Comment 7 Eugene Teo (Security Response) 2009-05-14 02:55:17 UTC
http://marc.info/?l=oss-security&m=124226897529946&w=2

Comment 10 Chuck Ebbert 2009-05-21 17:14:20 UTC
It looks like this bug is fixed in the upstream 2.6.27.24 and 2.6.29.4 updates.

Comment 11 Fedora Update System 2009-05-21 22:16:22 UTC
kernel-2.6.27.24-78.2.53.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/kernel-2.6.27.24-78.2.53.fc9

Comment 12 Fedora Update System 2009-05-22 09:02:03 UTC
kernel-2.6.27.24-170.2.68.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/kernel-2.6.27.24-170.2.68.fc10

Comment 14 Fedora Update System 2009-05-25 21:09:33 UTC
kernel-2.6.27.24-170.2.68.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 15 Fedora Update System 2009-05-27 19:05:56 UTC
kernel-2.6.27.24-78.2.53.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 errata-xmlrpc 2009-06-16 22:34:21 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 5

Via RHSA-2009:1106 https://rhn.redhat.com/errata/RHSA-2009-1106.html

Comment 18 errata-xmlrpc 2009-07-14 19:11:08 UTC
This issue has been addressed in following products:

  MRG for RHEL-5

Via RHSA-2009:1157 https://rhn.redhat.com/errata/RHSA-2009-1157.html

Comment 19 errata-xmlrpc 2009-08-13 15:35:02 UTC
This issue has been addressed in following products:

  Red Hat Enterprise Linux 4

Via RHSA-2009:1211 https://rhn.redhat.com/errata/RHSA-2009-1211.html


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