xfs-masters
[Top] [All Lists]

Re: [xfs-masters] [PATCH] xfs: prevent reading uninitialized stack memor

To: Dan Rosenberg <dan.j.rosenberg@xxxxxxxxx>
Subject: Re: [xfs-masters] [PATCH] xfs: prevent reading uninitialized stack memory
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 08 Sep 2010 11:37:28 -0500
Cc: aelder@xxxxxxx, xfs-masters@xxxxxxxxxxx, security@xxxxxxxxxx
In-reply-to: <AANLkTi=HdtMVJk7rCf89zirUcyn-5qc+50soVt=7dE6t@xxxxxxxxxxxxxx>
References: <AANLkTi=HdtMVJk7rCf89zirUcyn-5qc+50soVt=7dE6t@xxxxxxxxxxxxxx>
User-agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
Dan Rosenberg wrote:
> The XFS_IOC_FSGETXATTR ioctl allows unprivileged users to read 12
> bytes of uninitialized stack memory, because the fsxattr struct
> declared on the stack in xfs_ioc_fsgetxattr() does not alter (or zero)
> the 12-byte fsx_pad member before copying it back to the user.  This
> patch takes care of it.
> 
> Signed-off-by: Dan Rosenberg <dan.j.rosenberg@xxxxxxxxx>

Thanks.

Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx>

-Eric

> --- linux-2.6.35.4.orig/fs/xfs/linux-2.6/xfs_ioctl.c  2010-09-06
> 17:57:16.000000000 -0400
> +++ linux-2.6.35.4/fs/xfs/linux-2.6/xfs_ioctl.c       2010-09-06
> 17:58:19.000000000 -0400
> @@ -794,6 +794,8 @@ xfs_ioc_fsgetxattr(
>  {
>       struct fsxattr          fa;
> 
> +     memset(&fa, 0, sizeof(struct fsxattr));
> +
>       xfs_ilock(ip, XFS_ILOCK_SHARED);
>       fa.fsx_xflags = xfs_ip2xflags(ip);
>       fa.fsx_extsize = ip->i_d.di_extsize << ip->i_mount->m_sb.sb_blocklog;
> 
> _______________________________________________
> xfs-masters mailing list
> xfs-masters@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs-masters
> 

<Prev in Thread] Current Thread [Next in Thread>