Likes Likes:  0
Resultaten 1 tot 2 van de 2
Geen
  1. #1
    ZATAZ Audits
    ekg insecure temporary file creation and arbitrary code execution
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    ekg insecure temporary file creation and arbitrary code execution

    ################################################## #######

    ekg insecure temporary file creation and arbitrary code execution

    Vendor: http://dev.null.pl/ekg/
    Advisory: http://www.zataz.net/adviso/ekg-06062005.txt
    Vendor informed: yes
    Exploit available: no
    Impact : high
    Exploitation : high

    ################################################## #######

    The vulnerabilities are caused due to temporary file being created
    insecurely.
    This can be exploited via symlink attacks in combination to create and
    overwrite
    arbitrary files with the privileges of the user running the affected
    script and
    also arbitrary command possible by spiking the temporary file.

    ##########
    Versions:
    ##########

    ekg <= 2005-06-05 22:03

    ##########
    Solution:
    ##########

    For the symlink attack use kernel patch such as grsecurity

    #########
    Timeline:
    #########

    Discovered : 2005-05-27
    Vendor notified : 2005-06-06
    Vendor response : no response
    Vendor fix : no fix
    Vendor Sec report (vendor-sec@lst.de) : 2005-06-27
    Disclosure : 2005-07-04

    #####################
    Technical details :
    #####################

    Vulnerable code :
    -----------------

    In contrib/scripts/linki.py

    95 def czyjest ():
    96 if os.path.exists('/tmp/rmrmg_ekg_url'):
    97 wejsc= open ('/tmp/rmrmg_ekg_url')
    98 file = wejsc.readlines()
    99 dlug=len(file)
    100 wejsc.close()
    101 #ekg.printf("generic", "liczno¶æ %d" %(dlug))
    102 return file
    103 else:
    104 return 0

    Then

    35 def handle_keypress(meta, key):
    36 if key == 269:
    37 ekg.printf("generic", "wci¶nieto F5")
    38 nurl=czyjest()
    39 if nurl == 0:
    40 ekg.printf("generic", "nie ma zadnego adresu URL")
    41 else:
    42 dlug=len(nurl)
    43 if dlug == 1:
    44 ekg.printf("generic", "otwieram %s w nowej zak³adce"
    %(nurl[0]))
    45 os.system("MozillaFirebird -remote
    'openURL(%s,new-tab)'" %(nurl[0]))
    46 os.system('rm /tmp/rmrmg_ekg_url')
    47 else:
    48 ekg.printf("generic", "linków mam %d" %(dlug))
    49 wielejest(nurl)
    50 ekg.printf("generic", "otwieram %s w nowej zak³adce"
    %(nurl[0]))
    51 os.system("MozillaFirebird -remote 'openURL(%s,
    new-tab)'" %(nurl[0]))
    52 elif key == 270:
    53 ekg.printf("generic", "wcisniêto F6")
    54 nurl=czyjest()
    55 if nurl == 0:
    56 ekg.printf("generic", "nic nie moge skasowaæ - nie
    mazadnego adresu URL")
    57 else:
    58 dlug=len(nurl)
    59 if dlug == 1:
    60 ekg.printf("generic", "kasuje adres %s" %(nurl[0]))

    61 os.system('rm /tmp/rmrmg_ekg_url')
    62 else:
    63 ekg.printf("generic", "jest wiele linków")
    64 wielejest(nurl)
    65 ekg.printf("generic", "kasuje pierwszy czyli:
    %s"%(nurl[0]))
    66 elif key == 271:
    67 ekg.printf("generic", "wcisniêto F7")
    68 nurl=czyjest()
    69 if nurl == 0:
    70 ekg.printf("generic", "nie ma zadnego adresu URL")
    71 else:
    72 dlug=len(nurl)
    73 if dlug == 1:
    74 ekg.printf("generic", "otwieram %s w nowym
    oknie"%(nurl[0]))
    75 os.system("MozillaFirebird %s" %(nurl[0]))
    76 os.system('rm /tmp/rmrmg_ekg_url')
    77 else:
    78 ekg.printf("generic", "linków mam %d" %(dlug))
    79 wielejest(nurl)
    80 ekg.printf("generic", "otwieram %s w nowym
    oknie"%(nurl[0]))
    81 elif key == 272:
    82 ekg.printf("generic", "wcisniêto F8")
    83 nurl=czyjest()
    84 ekg.printf("generic", "F5 - otwiera w nowej zak³adce; F7
    wnowym oknie, a F6 kasuje, wszystko tyczy siê pierwszej po zycji
    zlisty")
    85 if nurl == 0:
    86 ekg.printf("generic", "nie ma zadnego adresu URL")
    87 else:
    88 dlug=len(nurl)
    89 ekg.printf("generic", "linków mam %d oto one:" %(dlug))
    90 for po in nurl:
    91 ekg.printf("generic", "%s" %(po))
    92 return 1

    #########
    Related :
    #########

    Gentoo Bugs report : http://bugs.gentoo.org/show_bug.cgi?id=94172
    CVE : CAN-2005-1916

    #####################
    Credits :
    #####################

    Eric Romang (eromang@zataz.net - ZATAZ Audit)
    Thxs to Gentoo Security Team. (Taviso, jaervosz, solar, tigger, etc.)

  2. #2
    Adam Wysocki
    ekg insecure temporary file creation and arbitrary code execution
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: ekg insecure temporary file creation and arbitrary code execution

    05.07.05 exploits@zataz.net wrote:

    > Vendor informed: yes


    Hi,

    What do you understand by "Vendor informed"? We haven't received any
    email from you neither to private addresses nor ekg-users/ekg-devel
    mailing lists. Please also note that the script you pointed at is
    contributed by a third-party author and isn't part of ekg itself,
    neither is installed by default.

    Greetings,

    Adam Wysocki
    ekg team

    --
    Adam Wysocki * http://www.gophi.rotfl.pl/ * GG 1234 * Fido 2:480/138

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics