[32360] in bugtraq

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

Re: DoS in PureFTPd

daemon@ATHENA.MIT.EDU (Jedi/Sector One)
Mon Nov 10 14:54:16 2003

Date: Mon, 10 Nov 2003 19:31:34 +0100
From: Jedi/Sector One <j@pureftpd.org>
To: bugtraq@securityfocus.com
Message-ID: <20031110183156.GA11694@c9x.org>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Nov 10, 2003 at 04:35:06PM +0100, Adam Zabrocki wrote:
          sizeof_resolved_path = MAXPATHLEN + 1U;
          if ((resolved_path = malloc(sizeof_resolved_path)) == NULL) { ... }
	  resolved_path[sizeof_resolved_path - 1U] = 0;
>         if (realpath(name, resolved_path) == NULL) { ... }
>         if (resolved_path[sizeof_resolved_path - 1U] != 0) {
>             for (;;) {
>                 *resolved_path++ = 0;
>             }
>         }

  realpath() is supposed to return a result that fits in MAXPATHLEN
(including the zero) or ENAMETOOLONG.

  The code you are pointing out is supposed to never be executed. It it ever
was, it would kill the user's own session, not DoS anyone else.

> Function realpath() is write by autor PureFTP.

  No, it is from OpenBSD, credits are at the right place.
  
/*
 * Copyright (c) 1994
 *      The Regents of the University of California.  All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Jan-Simon Pendry.
 *
 ...
      
-- 
 __  /*-      Frank DENIS (Jedi/Sector One) <j@42-Networks.Com>     -*\  __
 \ '/    <a href="http://www.PureFTPd.Org/"> Secure FTP Server </a>    \' /
  \/  <a href="http://www.Jedi.Claranet.Fr/"> Misc. free software </a>  \/

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