Date: Sat, 6 Nov 1999 11:30:21 -0800 (PST) From: N/A@FreeBSD.ORG To: freebsd-gnats-submit@freebsd.org Subject: ports/14749: /usr/ports/security/ssh/ has remote buffer-overflow Message-ID: <19991106193021.C53D914F54@hub.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 14749 >Category: ports >Synopsis: /usr/ports/security/ssh/ has remote buffer-overflow >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Nov 6 11:40:00 PST 1999 >Closed-Date: >Last-Modified: >Originator: N/A >Release: RELENG3 >Organization: N/A >Environment: FreeBSD XXXXXX 3.3-STABLE FreeBSD 3.3-STABLE #6: Thu Sep 30 20:23 :42 PDT 1999 root@XXXXXXX:/usr/src/sys/compile/GARLIC i386 >Description: There appears to be an exploitable buffer-overrun in the SSH 1.2.27 version in ports, with the RSAREF implementation. SSH 1.2.27 is seemingly no longer supported. It goes like that... sshd.c, do_connection at line 1513 gets a long number from the remote side. It proceeds to pass it into rsa_private_decrypt. rsa_private_decrypt (in rsaglue.c) has a ~200 byte buffer which can be overflowed, giving a SIGBUS or SIG 11. It might take some talent to overflow this because of the conversions. >How-To-Repeat: In ssh-1.2.27, modify your sshconnect.c, do_login, change every instance of SSH_SESSION_KEY_LENGTH to SSH_SESSION_KEY_LENGTH+500, and comment out the call to a_public_encrypt (otherwise, you'd crash yourself). A true exploit would probably only encrypt some of the buffer, leaving the rest to cause problems. >Fix: don't use static buffers here, or do a simple bounds check. >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991106193021.C53D914F54>