OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Rodrigo Barbosa (aka morcego) (rodrigobCONECTIVA.COM.BR)
Date: Tue Feb 13 2001 - 18:27:14 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    On Mon, Feb 12, 2001 at 01:12:02PM -0500, gabriel rosenkoetter wrote:
    > On Sun, Feb 11, 2001 at 12:38:02AM +0100, Flatline wrote:
    > > When crontab has determined the name of the user calling crontab (using
    > > getpwuid()),
    > > the login name is stored in a 20 byte buffer using the strcpy() function
    > > (which does no bounds checking). 'useradd' (the utility used to add users
    > > to the system)
    > > however allows usernames of over 20 characters (32 at most on my distribution).
    > >
    > > Therefore, running crontab as a user whose login name exceeds 20 characters
    > > crashes it.
    >
    > Then your useradd is broken and doing improper bounds checking.
    >
    > I'm not sure why Vixie chose 20 characters, but it should be enough,
    > since usernames longer than 8 characters should not be expected to
    > behave properly. (They system won't know they're unique.) This is a
    > POSIX thing, last I heard.

    Hummm, not exactly. Last time I checked, there where lots of systems that
    allowed usernames to be 32 chars long.
    GLIBC implementation (at least on version 2.2 and 2.1.3 from cvs) allow it.
    Quick check:

    #include <wtmpx.h>

    main () {
            printf("%d\n",__UT_NAMESIZE);
    }

    or, if your system does not have wtmpx.h

    #include <wtmp.h>

    main () {
            printf("%d\n",UT_NAMESIZE);
    }

    If anyone can find any system that reports less then 32, it will be an exception
    of the rule. Of course I mean current systems. libc5 systems, AIX 3.2 and old
    systems like that will probably return 16 or even 8.

    []s

    -- 
     Rodrigo Barbosa (morcego)         - rodrigob at conectiva.com.br
     Conectiva R&D Team                - http://distro.conectiva.com.br
     "Quis custodiet ipsos custodiet?" - http://www.conectiva.com
    

    -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org

    iD8DBQE6idDin5NdOMMM/nERAncWAKCsWHnjrwknxS1dxFIWALUoyVsdkgCgmi0F Tjejk7lBxwgj70JFzB7o+ts= =PIPr -----END PGP SIGNATURE-----