Re: [Cluster-devel] cluster: RHEL6 - fsck.gfs2: Fix buffer overflow in get_lockproto_table

2012-08-17 Thread Fabio M. Di Nitto
On 8/17/2012 11:57 AM, Andrew Price wrote:
> On 17/08/12 05:02, Fabio M. Di Nitto wrote:
>> On 08/16/2012 11:01 PM, Andrew Price wrote:
>>> Gitweb:   
>>> http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=f796ee8752712e9e523e1516bb9165b274552753
>>>
>>> Commit:f796ee8752712e9e523e1516bb9165b274552753
>>> Parent:638deec0ccbf45862eee97294f09ba9d6b3f56d0
>>> Author:Andrew Price 
>>> AuthorDate:Sat Jul 7 22:03:24 2012 +0100
>>> Committer: Andrew Price 
>>> CommitterDate: Thu Aug 16 21:54:56 2012 +0100
>>>
>>> fsck.gfs2: Fix buffer overflow in get_lockproto_table
>>>
>>> Coverity discovered a buffer overflow in this function where an overly
>>> long cluster name in cluster.conf could cause a crash while repairing
>>> the superblock. This patch fixes the bug by making sure the lock table
>>> is composed sensibly, limiting the fsname to 16 chars as documented, and
>>> only allowing the cluster name (which doesn't seem to have a documented
>>> max size) to use the remaining space in the locktable name string.
>>
>> cluster name is max 16 bytes too (including \0). It's actually verified
>> by cman at startup so it can't be longer than that.
> 
> OK, thanks for clearing that up. There are other places in gfs2-utils
> which we can tighten up now that we know that the cluster name has a
> solid limit so I'm going to push this patch (which fixes the overflow
> bug) and we'll address the limit issues separately.
> 
> BTW, now that cman has disappeared upstream is anything checking the
> length of the cluster name now?

I am not sure. I donĀ“t think corosync enforces any limit, but best to
check with Jan.

Fabio



Re: [Cluster-devel] cluster: RHEL6 - fsck.gfs2: Fix buffer overflow in get_lockproto_table

2012-08-17 Thread Andrew Price

On 17/08/12 05:02, Fabio M. Di Nitto wrote:

On 08/16/2012 11:01 PM, Andrew Price wrote:

Gitweb:
http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=f796ee8752712e9e523e1516bb9165b274552753
Commit:f796ee8752712e9e523e1516bb9165b274552753
Parent:638deec0ccbf45862eee97294f09ba9d6b3f56d0
Author:Andrew Price 
AuthorDate:Sat Jul 7 22:03:24 2012 +0100
Committer: Andrew Price 
CommitterDate: Thu Aug 16 21:54:56 2012 +0100

fsck.gfs2: Fix buffer overflow in get_lockproto_table

Coverity discovered a buffer overflow in this function where an overly
long cluster name in cluster.conf could cause a crash while repairing
the superblock. This patch fixes the bug by making sure the lock table
is composed sensibly, limiting the fsname to 16 chars as documented, and
only allowing the cluster name (which doesn't seem to have a documented
max size) to use the remaining space in the locktable name string.


cluster name is max 16 bytes too (including \0). It's actually verified
by cman at startup so it can't be longer than that.


OK, thanks for clearing that up. There are other places in gfs2-utils 
which we can tighten up now that we know that the cluster name has a 
solid limit so I'm going to push this patch (which fixes the overflow 
bug) and we'll address the limit issues separately.


BTW, now that cman has disappeared upstream is anything checking the 
length of the cluster name now?


Andy



Re: [Cluster-devel] cluster: RHEL6 - fsck.gfs2: Fix buffer overflow in get_lockproto_table

2012-08-16 Thread Fabio M. Di Nitto
On 08/16/2012 11:01 PM, Andrew Price wrote:
> Gitweb:
> http://git.fedorahosted.org/git/?p=cluster.git;a=commitdiff;h=f796ee8752712e9e523e1516bb9165b274552753
> Commit:f796ee8752712e9e523e1516bb9165b274552753
> Parent:638deec0ccbf45862eee97294f09ba9d6b3f56d0
> Author:Andrew Price 
> AuthorDate:Sat Jul 7 22:03:24 2012 +0100
> Committer: Andrew Price 
> CommitterDate: Thu Aug 16 21:54:56 2012 +0100
> 
> fsck.gfs2: Fix buffer overflow in get_lockproto_table
> 
> Coverity discovered a buffer overflow in this function where an overly
> long cluster name in cluster.conf could cause a crash while repairing
> the superblock. This patch fixes the bug by making sure the lock table
> is composed sensibly, limiting the fsname to 16 chars as documented, and
> only allowing the cluster name (which doesn't seem to have a documented
> max size) to use the remaining space in the locktable name string.

cluster name is max 16 bytes too (including \0). It's actually verified
by cman at startup so it can't be longer than that.

Fabio