CVE-2008-3282: Integer Overflow
Integer overflow in the rtlallocateMemory function in sal/rtl/source/allocglobal.c in the memory allocator in OpenOffice.org (OOo) 2.4.1, on 64-bit platforms, allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted document, related to a "numeric truncation error," a different vulnerability than CVE-2008-2152.
Other sources
It was discovered, that OpenOffice.org memory allocator is not 64bit clean. rtlallocateMemory() function in sal/rtl/source/allocglobal.c accepts one argument - salSize n. On 64bit platforms such as x8664, salSize is defined as unsigned long int. This requested memory chunk size is later memory aligned as size (type salSize). size is later used to calculate int index to galloctable[] array:
int index = (size - 1) >> RTLMEMALIGNSHIFT;
However, as sizeof(int) == 4 and sizeof(salSize) == 8 on 64bit platforms, the calculated value may not fit into index (this can happen when rtlallocateMemory() is called with large argument, e.g. when some other flaw causes OpenOffice to attempt to allocate chunk of memory with negative size, which wraps to large positive value during signed -> unsigned type conversion, such as [1]). Value stored in the index is wrapped / truncated, possibly resulting in the index being negative.
Before index is used, it is checked not to exceed fixed upper limit, but it's not checked whether its value is >= 0:
if (index < RTLMEMORYCACHEDLIMIT >> RTLMEMALIGNSHIFT)
Negative index used in galloctable[index] will cause OpenOffice to access memory outside of the galloctable[] array. This may result it crash, or if that points to an attacker controlled memory, attacker may possibly be able to use this flaw to run arbitrary code.
[1] http://www.openoffice.org/issues/showbug.cgi?id=91818 http://scary.beasts.org/security/CESA-2008-006.html
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2008-3282?
CVE-2008-3282 is classified as a medium severity vulnerability due to its potential to cause denial of service and the possibility of arbitrary code execution.
How do I fix CVE-2008-3282?
To fix CVE-2008-3282, users should upgrade to a patched version of OpenOffice.org that addresses this vulnerability.
Which versions are affected by CVE-2008-3282?
CVE-2008-3282 affects OpenOffice.org version 2.4.1 on 64-bit platforms and specific releases of Fedora 8 and 9.
What is the impact of exploiting CVE-2008-3282?
Exploiting CVE-2008-3282 may lead to application crashes or allow attackers to execute arbitrary code through specially crafted documents.
Is CVE-2008-3282 a local or remote vulnerability?
CVE-2008-3282 is a remote vulnerability, allowing attacks via crafted documents opened in the affected software.