[LWN Logo]

Date:         Mon, 28 Feb 2000 15:17:33 +0900
From: "±è¿ëÁØ KimYongJun (99Á¹¾÷)" <s96192@CE.HANNAM.AC.KR>
Subject:      [ Hackerslab bug_paper ] Linux dump buffer overflow
To: BUGTRAQ@SECURITYFOCUS.COM

[ Hackerslab bug_paper ] Linux dump buffer overflow


File   :   /sbin/dump

SYSTEM :   Linux


INFO :


The problem occurs when it gets the argument.
It accepts the argument without checking out its length, and this causes the problem.

It seems that this vulnerability also applies to RedHat Linux 6.2beta,
the latest version.


[loveyou@loveyou SOURCES]$ dump  -f a `perl -e 'print "x" x 556'`
  DUMP: Date of this level 0 dump: Mon Feb 28 14:45:01 2000
  DUMP: Date of last level  dump: the epoch
  DUMP: Dumping xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx to a
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx: ÆÄÀÏ À̸§ÀÌ ³Ê¹« ±é´Ï´Ù while opening filesystem
  DUMP: SIGSEGV: ABORTING!
Segmentation fault

[loveyou@loveyou SOURCES]$ dump  -f a `perl -e 'print "loveyou" x 556'`
  DUMP: SIGSEGV: ABORTING!
Segmentation fault    <=  occur ctime4()


How to fix
----------

patch :

[root@loveyou SOURCES]# diff -ru dump-0.4b13/dump/main_orig.c dump-0.4b13/dump/main.c
--- dump-0.4b13/dump/main_orig.c        Mon Feb 28 14:40:01 2000
+++ dump-0.4b13/dump/main.c     Mon Feb 28 14:40:57 2000
@@ -273,6 +273,9 @@
                exit(X_STARTUP);
        }
        disk = *argv++;
+        if ( strlen(disk) > 255 )
+           exit(X_STARTUP);
+
        argc--;
        if (argc >= 1) {
                (void)fprintf(stderr, "Unknown arguments to dump:");



hot fix :
it  is recommended that  the suid bit is
removed from dump using command :

    chmod a-s /sbin/dump




- Yong-jun, Kim -
e - mail : loveyou@hackerslab.org       s96192@ce.hannam.ac.kr
homepage : http://www.hackerslab.org    http://ce.hannam.ac.kr/~s96192