lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date: Tue, 24 May 2011 18:18:49 -0300
From: CORE Security Technologies Advisories <>
To: Bugtraq <>,
Subject: CORE-2010-0908: Lotus Notes XLS viewer malformed BIFF record heap

Hash: SHA1

   Core Security Technologies - Corelabs Advisory

   Lotus Notes XLS viewer malformed BIFF record heap overflow

1. *Advisory Information*

Title: Lotus Notes XLS viewer malformed BIFF record heap overflow
Advisory ID: CORE-2010-0908
Advisory URL:
Date published: 2011-05-24
Date of last update: 2011-05-24
Vendors contacted: IBM
Release mode: Coordinated release

2. *Vulnerability Information*

Class: Buffer Overflow [CWE-119]
Impact: Code execution
Remotely Exploitable: Yes
Locally Exploitable: No
CVE Name: CVE-2011-1512

3. *Vulnerability Description*

A memory corruption vulnerability in the Lotus Notes client application
can be leveraged to execute arbitrary code on vulnerable systems by
enticing users to open specially crafted spreadsheet files with the
'.XLS' extension. The vulnerability arises from improper parsing of a
BIFF record. This vulnerability could be used by a remote attacker to
execute arbitrary code with the privileges of the user that opened the
malicious file.

4. *Vulnerable packages*

All current releases are affected:

   . IBM Lotus Notes 8.5.2
   . IBM Lotus Notes 8.5.1
   . IBM Lotus Notes 8.0.x
   . IBM Lotus Notes 7.x
   . IBM Lotus Notes 6.x
   . IBM Lotus Notes 5.x

5. *Non-vulnerable packages*

   . Interim Fix 1 for Lotus Notes 8.5.2 Fix Pack 2 (targeted for
posting to Fix Central by end of day May 25th, 2011)
   . Lotus Notes 8.5.2 Fix Pack 3 (ETA July 2011)
   . Lotus Notes 8.5.3 (ETA Q3 2011)

6. *Vendor Information, Solutions and Workarounds*

IBM has issued a security alert describing fixes and workarounds for
this vulnerability. The technical note is available at:

As a workaround, disable the viewer as described in the "Options to
disable viewers within Lotus Notes" section of the IBM technical note.

7. *Credits*

This vulnerability was discovered by Pablo Santamaria, Oren Isacson and
Nadia Rodriguez from Core Security Technologies during Bugweek 2010 [1].
Publication was coordinated by Carlos Sarraute.

8. *Technical Description / Proof of Concept Code*

A memory corruption vulnerability can be triggered when a Lotus Notes
client parses a .XLS file with a specially crafted BIFF record.

As we can see in the following code, it reads data from the file [2],
and then it saves the result of left shifting in local variables [3].

.text:0589D1B8 xor     ecx, ecx
.text:0589D1BA xor     eax, eax
.text:0589D1BC mov     ch, [edi+1]     [2]
.text:0589D1BF mov     ah, [edi+9]     [2]
.text:0589D1C2 mov     cl, [edi]       [2]
.text:0589D1C4 mov     al, [edi+8]     [2]
.text:0589D1C7 shl     ecx, 1
.text:0589D1C9 shl     eax, 1
.text:0589D1CB cmp     eax, ecx
.text:0589D1CD mov     [esp+48h+var_10], ecx   [3]
.text:0589D1D1 mov     [esp+48h+var_8], eax    [3]
.text:0589D1D5 jbe     short loc_589D1DF

- -----/
Later, var_8 is used as a size to end a loop [4].

.text:0589D3E8 loc_589D3E8:
      .text:0589D3E8 mov     edi, [esp+48h+var_38]
      .text:0589D3EC mov     ecx, [esp+48h+var_8]    [4]
      .text:0589D3F0 add     edi, 2
      .text:0589D3F3 mov     [esp+48h+var_38], edi
      .text:0589D3F7 and     edi, 0FFFFh
      .text:0589D3FD cmp     edi, ecx
      .text:0589D3FF jb      loc_589D345

- -----/
So, in our first approach, we modified those values to crash the program
and we found that the crash was inside the loop reading invalid memory [5].

.text:0589D345 loc_589D345:
      .text:0589D345 cmp     byte ptr [edi+eax], 0Ah   [5]
      .text:0589D349 jnz     loc_589D3E8

- -----/
This issue may lead to a memory corruption and arbitrary code execution.

This vulnerability was reproduced with a Lotus Notes client that uses
the following DLL versions:

   . xlssr.dll

9. *Report Timeline*

. 2011-02-02:
Initial notification to the vendor. Publication date set to March 7th,

. 2011-02-03:
Vendor acknowledges receipt of the notification and provides PGP keys
for further communications.

. 2011-02-08:
Core sends technical details and PoC file to the vendor.

. 2011-02-08:
Vendor acknowledges receipt of the information.

. 2011-02-25:
Core requests an update concerning this issue.

. 2011-03-03:
Vendor confirms that they were able to reproduce the vulnerability, and
that the third party vendor which provides that functionality has been

. 2011-03-10:
Core requests information concerning the vendor's plans for providing a
fix to its customers. Publication of Core's advisory is rescheduled to
April 18th, 2011, in an effort to coordinate it with the release of fixes.

. 2011-03-11:
Vendor answers that it is still working with the third party vendor to
provide fixes for the required versions.

. 2011-04-25:
Core again requests concrete information concerning the vendor's plan to
produce fixes. Publication of Core's advisory is rescheduled for May
23rd, 2011.

. 2011-04-28:
Vendor replies that it will provide an update by the end of the week.

. 2011-05-04:
Vendor requests targeting May 24th for the publication of this

. 2011-05-04:
Core agrees to reschedule for May 24th, requests a list of vulnerable
versions, and offers to include a vendor statement in its advisory.

. 2011-05-19:
Vendor replies that it is preparing an advisory which will outline the
fixes and options available. Vendor states that this vulnerability would
impact all current releases. Vendor asks whether a CVE has been assigned
to the vulnerability.

. 2011-05-20:
Core provides the CVE name assigned to the issue, and requests
additional information to be included in its advisory.

. 2011-05-24:
Vendor provides a link to its security alert, which includes information
about fixes and workarounds.

. 2011-05-24:
The advisory CORE-2010-0908 is published.

10. *References*

[1] Core Security Bugweek

11. *About CoreLabs*

CoreLabs, the research center of Core Security Technologies, is charged
with anticipating the future needs and requirements for information
security technologies. We conduct our research in several important
areas of computer security including system vulnerabilities, cyber
attack planning and simulation, source code auditing, and cryptography.
Our results include problem formalization, identification of
vulnerabilities, novel solutions and prototypes for new technologies.
CoreLabs regularly publishes security advisories, technical papers,
project information and shared software tools for public use at:

12. *About Core Security Technologies*

Core Security Technologies enables organizations to get ahead of threats
with security test and measurement solutions that continuously identify
and demonstrate real-world exposures to their most critical assets. Our
customers can gain real visibility into their security standing, real
validation of their security controls, and real metrics to more
effectively secure their organizations.

Core Security's software solutions build on over a decade of trusted
research and leading-edge threat expertise from the company's Security
Consulting Services, CoreLabs and Engineering groups. Core Security
Technologies can be reached at +1 (617) 399-6980 or on the Web at:

13. *Disclaimer*

The contents of this advisory are copyright (c) 2011 Core Security
Technologies and (c) 2011 CoreLabs, and are licensed under a Creative
Commons Attribution Non-Commercial Share-Alike 3.0 (United States)

14. *PGP/GPG Keys*

This advisory has been signed with the GPG key of Core Security
Technologies advisories team, which is available for download at
Version: GnuPG v1.4.9 (MingW32)


Powered by blists - more mailing lists