what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New


Posted Dec 30, 2004
Authored by Manigandan Radhakrishnan

An input validation error that allows for arbitrary command execution and a buffer overflow exist in Greed 0.81p.

tags | advisory, overflow, arbitrary
SHA-256 | e30923d99ec472108172de0dad85a10cd5cd9e6a8d7e7de0283bcf056e33a5fa


Change Mirror Download
From djb@cr.yp.to Wed Dec 15 14:23:11 2004
Date: 15 Dec 2004 08:31:43 -0000
From: D. J. Bernstein <djb@cr.yp.to>
To: securesoftware@list.cr.yp.to, Anoakie.Turner@asu.edu, trevor@freebsd.org
Subject: [remote] [control] greed 0.81p DownloadLoop overflows COMMAND;
DownloadLoop does not check for nasty characters

Manigandan Radhakrishnan, a student in my Fall 2004 UNIX Security Holes
course, has discovered two remotely exploitable security holes in ``Get
and Resume Elite Edition'' (greed), an FTP/HTTP downloading tool. I'm
publishing this notice, but all the discovery credits should be assigned
to Radhakrishnan.

You are at risk if you take a GRX file list from an email message (or a
web page or any other source that could be controlled by an attacker)
and feed it through greed. Whoever provides that file list then has
complete control over your account: he can read and modify your files,
watch the programs you're running, etc.

A GRX file list includes local file names; local file names are
dangerous in a much more obvious way, and presumably are checked by the
user. These attacks work even if the local file names are innocent. The
greed documentation does not tell users to check the remote file names.

Proof of concept: On an x86 computer running FreeBSD 4.10, as root, type

cd /usr/ports/ftp/greed
make install

to download and compile the greed program, version 0.81p (latest ports
version). Then, as any user, save the file 68-1.grx attached to this
message, and type

greed -T -G68-1.grx -D0

with the unauthorized result that a file matching EXPLOIT* is created in
the current directory. (I tested this with a 613-byte environment, as
reported by printenv | wc -c; beware that 68-1.grx is sensitive to the
environment size.) 68-2.grx is similar, but uses a different bug, and
has the unauthorized result of removing a file named x in the current

Here are the bugs. First, in main.c, DownloadLoop() uses strcat() to
copy an input filename to the end of a 128-byte COMMAND array. Second,
DownloadLoop() passes the input filename to system() without checking
for special characters such as semicolons.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago

[ Part 2, Text/PLAIN (charset: unknown-8bit) 4 lines. ]
[ Unable to print this part. ]

[ Part 3, Text/PLAIN 5 lines. ]
[ Unable to print this part. ]

Login or Register to add favorites

File Archive:

August 2022

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Aug 1st
    20 Files
  • 2
    Aug 2nd
    4 Files
  • 3
    Aug 3rd
    6 Files
  • 4
    Aug 4th
    55 Files
  • 5
    Aug 5th
    16 Files
  • 6
    Aug 6th
    0 Files
  • 7
    Aug 7th
    0 Files
  • 8
    Aug 8th
    13 Files
  • 9
    Aug 9th
    0 Files
  • 10
    Aug 10th
    0 Files
  • 11
    Aug 11th
    0 Files
  • 12
    Aug 12th
    0 Files
  • 13
    Aug 13th
    0 Files
  • 14
    Aug 14th
    0 Files
  • 15
    Aug 15th
    0 Files
  • 16
    Aug 16th
    0 Files
  • 17
    Aug 17th
    0 Files
  • 18
    Aug 18th
    0 Files
  • 19
    Aug 19th
    0 Files
  • 20
    Aug 20th
    0 Files
  • 21
    Aug 21st
    0 Files
  • 22
    Aug 22nd
    0 Files
  • 23
    Aug 23rd
    0 Files
  • 24
    Aug 24th
    0 Files
  • 25
    Aug 25th
    0 Files
  • 26
    Aug 26th
    0 Files
  • 27
    Aug 27th
    0 Files
  • 28
    Aug 28th
    0 Files
  • 29
    Aug 29th
    0 Files
  • 30
    Aug 30th
    0 Files
  • 31
    Aug 31st
    0 Files

Top Authors In Last 30 Days

File Tags


packet storm

© 2022 Packet Storm. All rights reserved.

Hosting By