[33982] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Calife heap corrupt / potential local root exploit

daemon@ATHENA.MIT.EDU (Carson Gaspar)
Fri Feb 27 16:05:57 2004

Date: Fri, 27 Feb 2004 15:08:50 -0500
From: Carson Gaspar <carson+bugtraq@taltos.org>
To: Ollivier Robert <roberto@keltia.freenix.fr>, bugtraq@securityfocus.com
Message-ID: <189080000.1077912530@taltos.ny.ficc.gs.com>
In-Reply-To: <20040227164934.13688.qmail@www.securityfocus.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline



--On Friday, February 27, 2004 16:49:34 +0000 Ollivier Robert 
<roberto@keltia.freenix.fr> wrote:

> In-Reply-To: <20040227091921.26210.qmail@www.securityfocus.com>
>
>>            pt_pass = (char *) getpass ("Password:");
>>            memset (user_pass, '\0', l_size);
>>            strcpy (user_pass, pt_pass); // <- BAD CODE
>
> I could have used strlcpy but I assumed (and my reading of the FreeBSD
> source code confirm it) that getpass(3) was doing the size check.

This is why you shouldn't make such assumptions. Never assume someone else 
validated your input. If you want to write secure code, assume every 
function is under attack from every other function, because someday someone 
will change the program flow, bypassing your carefully crafted validation 
function and passing garbage to your insecure code. Outsourcing your 
validation to other code is the software equivalent of the hard outside / 
soft tasty center security model.

-- 
Carson


home help back first fref pref prev next nref lref last post