Slackware 8.0, 7.1 Vulnerability: /usr/bin/locate

From: Josh Smith (joshat_private-networks.com)
Date: Wed Aug 01 2001 - 09:03:58 PDT

  • Next message: Matt Block: "The Dangers of Allowing Users to Post Images"

    Submitted by  : Josh (joshat_private-networks.com), lockdown
                    (lockdownat_private), zen-parse (zen-parseat_private)
    Vulnerability : /usr/bin/locate (findutils-4.1 and before)
    Tested On     : Slackware 8.0, Slackware 7.1
    Local         : Yes
    Remote        : No
    Fix           : Update to slocate
    Target        : root or any other user that runs locate
    Requires      : UID nobody
    Greets to     : alpha, fr3n3tic, omega, eazyass, Remmy, RedPen, banned-it,
                    slider, cryptix, s0ttle, xphantom, qtip, tirancy,
                    Defiance, KraZee, synexic, Insane, rusko,
    		falcon-networks.com, mp3.com/cosv.
    Other Stuff   : We all (individually) need jobs.  E-mail the contact
                    people with [WE HAVE A JOB FOR YOU] in the subject.
    
    	In slackware, and possibly other distributions, it is possible to
    modify the locate database if one were to obtain UID nobody.  This allows
    locate to act as a sort of 'trojan' having anyone who executes it
    unknowingly execute potentially malicious code.
            It works by taking advantage of the fact locate accepts old
    format databases. LOCATEDB_OLD_ESCAPE (char 30) is followed by an offset,
    stored in a signed integer, for how many characters to add to the current
    character pointer in the path. It doesn't perform any sanity checking of
    the input. This exploit tells it to move the pointer back a long way,
    back past the beginning of the string, all the way to the GOT address for
    exit() which then gets the address of the shellcode added, and the
    program then runs out of database and executes our code.
    	There is also probably a similar vulnerability in the new format.
    
    P.S. dies: If you see this e-mail joshat_private-networks.com
    
    
    



    This archive was generated by hypermail 2b30 : Wed Aug 01 2001 - 09:20:49 PDT