Vulnerability Note VU#350089
IBM Notes and Domino on x86 Linux specify an executable stack
Original Release date: 22 Apr 2014 | Last revised: 22 Apr 2014
IBM Notes and Domino on x86 Linux are incorrectly built requesting an executable stack. This can make it easier for attackers to exploit vulnerabilities in Notes, Domino, and any of the child processes that they may spawn.
The build environment for the x86 Linux versions of IBM Notes and Domino incorrectly specified the "-z execstack" flag to gcc. This means that both Notes and Domino are given the READ_IMPLIES_EXEC personality, which marks memory such as the stack, heap, and data sections as executable. This personality is also inherited by child processes, such as the one that does parsing with the Oracle Outside In library, which is used to generate attachment previews in Notes, as well as to perform full-text indexing in Domino. See the CERT/CC Blog entry Feeling Insecure? Blame Your Parent! for more details.
Because Notes, Domino, and their child processes are not protected by NX on the x86 Linux platform, vulnerabilities in either of these products are easier to exploit.
Apply an update
This issue is addressed in IBM Domino and Notes 9.0.1 Fix Pack 1. See the IBM Security Bulletin for more details. If you cannot install the update, please consider the following workaround:
Enable NX for Notes and Domino
The executable stack specifier in the ELF header can be stripped by using the execstack utility. To verify the current state of Notes and Domino with respect to whether they request an executable stack, the checksec.sh script can be used. For example, the following indicates that Domino uses an executable stack:
$ ./checksec.sh –file /opt/ibm/domino/notes/latest/linux/server
RELRO STACK CANARY NX PIE RPATH RUNPATH FILE
Partial RELRO No canary found NX disabled No PIE No RPATH No RUNPATH /opt/ibm/domino/notes/latest/linux/server
Note that the NX column indicates NX disabled. To correct this situation, run execstack to clear the executable stack flag:
sudo execstack -c /opt/ibm/domino/notes/latest/linux/server
Alternatively, the readelf utility can also be used to check whether the stack is executable:
readelf -a /opt/ibm/domino/notes/latest/linux/server | grep GNU_STACK
GNU_STACK 0x000000 0x00000000 0x00000000 0x00000 0x00000 RWE 0x4
Note the presence of RWE in the permissions column. This indicates that the stack is Readable, Writable, and Executable. A properly-configured stack will only have the RW flags.
To perform the same checks and changes for IBM Notes, use the /opt/ibm/notes/lnotes executable instead.
Vendor Information (Learn More)
VendorStatusDate NotifiedDate UpdatedIBM CorporationAffected10 Feb 201422 Apr 2014If you are a vendor and your product is affected, let
CVSS Metrics (Learn More)
This vulnerability was reported by Will Dormann of the CERT/CC.
This document was written by Will Dormann.
18 Apr 2014
Date First Published:
22 Apr 2014
Date Last Updated:
22 Apr 2014
FeedbackIf you have feedback, comments, or additional information about this vulnerability, please send us email.