New User, Welcome!     Login

<< Previous Next >>

allocates

Cisco Security Advisory: Vulnerability in Cisco IOS with OSPF, MPLS VPN, and Supervisor 32, Supervisor 720, or Route Switch Processor 720

This vulnerability can manifest as a leak in the I/O memory pool. The
following is an example of a system message that indicates an
exhaustion of the I/O pool:

    006029: Aug  10: %SYS-2-MALLOCFAIL: Memory allocation of 808 bytes failed from 0x41613238, alignment 32 
    Pool: I/O Free: 176  Cause: Not enough free memory 
    Alternate Pool: None  Free: 0  Cause: No Alternate pool 

Note that in the above output, the affected memory pool is Pool: I/O,
and the cause is Cause: Not enough free memory. This output indicates

CORE-2008-0228: Microsoft Word Malformed FIB Arbitrary Free Vulnerability

of the memory position that it points to. That is, both of them are
controlled, one directly and the other in an indirect manner, we can
thus fully control the effect of the free function.

The exploitation of this bug depends on the construction of a file such
that different arbitrary blocks are allocated when closing the file
before 'free' is called. However this scenario is complex due to the
limitations of the '__MsoPvFree' API, including checks that make the
exploitation difficult.

The vendor's analysis indicates that the root cause of this

iDefense Security Advisory 03.09.10: Microsoft Excel MDXTUPLE Record Heap Overflow Vulnerability

vulnerability, an attacker needs to convince a user to open a malicious
file. Attackers typically accomplish this by emailing a targeted user
the file, or hosting the file on a Web page.

Exploitation of this vulnerability is relatively simple. An attacker can
control the size of the buffer allocated, the size of the overflow, and
the content of the overflow.

IV. DETECTION

iDefense has confirmed the existence of this vulnerability in Excel

SYMSA-2007-011: Microsoft WM5 PocketPC Phone Ed SMS Handler Issue

    USER DATA LENGTH : 96 octets
    UDH LENGTH : 6 octets
    UDH : 05 04 0B 84 23 F0
    UDH ELEMENTS : 05 - Appl. port addressing 16bit
       4 (0x04) Bytes Information Element
         09200 : SOURCE port is: allocated by IANA
        02948 : DESTINATION port is: allocated by IANA
     --- DATA ----------------------
       05 04 0B 84 23 F0
       USER DATA (TEXT) : %®?ꯂ´„jE
     symantec…Symantec

CORE-2010-0514: XnView MBM Processing Heap Overflow

As we can see, in this part it takes the marker byte (0x7A), increments
it by 1 (0x7B) and copies the following byte (0x41) the number of times
indicated by the marker byte, but the buffer has only 0x32 bytes
allocated. Below those 0x32 bytes we find the header of another chunk on
the heap:

/-----
01355570  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  // beginning
of the 0x32 bytes heap

Remote buffer overflow in aircrack-ng causes DOS and possible code execution

part of the EAPOL-authentication. We can exploit this by letting the
code parse packets which:
a) proclaim to be larger than they really are, possibly causing the
code to read from invalid memory locations while copying the packet;
b) really do exceed the maximum size allowed and overflow data
structures allocated on the heap, overwriting libc’s
allocation-related structures. This causes heap-corruption.


Steps to Reproduce:
1. Get example file from

iDefense Security Advisory 03.09.10: Microsoft Excel MDXSET Record Heap Overflow Vulnerability

vulnerability, an attacker needs to convince a user to open a malicious
file. Attackers typically accomplish this by emailing a targeted user
the file, or hosting the file on a Web page.

Exploitation of this vulnerability is relatively simple. An attacker can
control the size of the buffer allocated, the size of the overflow, and
the content of the overflow.

IV. DETECTION

iDefense has confirmed the existence of this vulnerability in Excel

libc:fts_*():multiple vendors, Denial-of-service

#define NAPPEND(p)                                                      \
        (p->fts_path[p->fts_pathlen - 1] == '/'                           \
            ? p->fts_pathlen - 1 : p->fts_pathlen)
- ---line-247-249---

this function will crash, when we will requests to wrong allocated memory.

So, what is wrong:

127# pwd
/home/cxib

NULL pointer in SurgeFTP 2.3a2

When a Content-Length parameter is received from the client, SurgeFTP
tries to allocate the amount of memory (max 2147483647 bytes) specified
in this field and then copies the data in the resulted new buffer.
The problem is in the lack of checks on the result of the allocation
which leads to the crash of the entire server during the copying of the
data to a NULL pointer if that amount of memory cannot be allocated.


#######################################################################

===========

Foxit Reader 2.2 two potentially exploitable bugs

address 0x4d1ed0) are common functions 
to parse any type of field for any type 
of resource. So, when some fields of 
a /Font dictionary are found under 
a /ExtGState resource, the fields are 
read and interpreted, and the allocated 
structures are filled with incorrect data.

This facts cause different errors in 
the execution. For example, this code:
 

Foxit Reader 2.2 two potentially exploitable bugs

address 0x4d1ed0) are common functions 
to parse any type of field for any type 
of resource. So, when some fields of 
a /Font dictionary are found under 
a /ExtGState resource, the fields are 
read and interpreted, and the allocated 
structures are filled with incorrect data.

This facts cause different errors in 
the execution. For example, this code:
 

ZDI-09-063: Apple QuickTime H.264 Nal Unit Length Heap Overflow Vulnerability

malicious page or open a malicious file.

The specific flaw exists during the parsing of samples from a malformed
MOV file utilizing the H.264 codec. While parsing data to render the
stream, the application will mistrust a length that is used to
initialize a heap chunk that was allocated in a header. If the length is
larger than the size of the chunk allocated, then a memory corruption
will occur leading to code execution under the context of the currently
logged in user.

-- Vendor Response:

Benchmarking attacks and major security weakness on all recent Windows versions up to Windows 200

also about how efficient it is. In order to evaluate that you must rely on many more indicators, 
making the time a process runs only a part of a benchmark result.

A benchmark can also imply to analyze the following indicators:
- number of threads ran by process
- size of memory allocated by process/threads
- CPU consumption
- number of open handles, file descriptors, sockets, ...
- command line arguments, environment variables
etc.


Foxit Reader 2.2 two potentially exploitable bugs

address 0x4d1ed0) are common functions 
to parse any type of field for any type 
of resource. So, when some fields of 
a /Font dictionary are found under 
a /ExtGState resource, the fields are 
read and interpreted, and the allocated 
structures are filled with incorrect data.

This facts cause different errors in 
the execution. For example, this code:
 

Cisco Security Advisory: Cisco IOS Virtual Private Dial-up Network Denial of Service Vulnerability

    Upon completion of a PPTP session, memory is leaked from the
    processor memory on the terminating device. This is shown in the
    output of "show process memory" under the *Dead* process. The 
    *Dead* process is not a real process. Its function is to account 
    for the memory that is allocated under the context of another 
    process which has terminated, in this case PPTP. When the 
    administrator is logged into the device, if the device is under 
    exploitation, the Holding entry of the *Dead* process under the 
    "show process memory" command will be increasing. Following is 
    an example showing a device that is holding *Dead* memory:

CORE-2008-0124: Multiple vulnerabilities in Google's Android SDK

.text:0002F234  BL      _DGifOpen
.text:0002F238  SUBS    R5, R0, #0 ; GifFile -_ $R5
- -----------/

 Then, the giflib function 'DGifSlurp()' is called and the Image size is
correctly allocated using the Image Width and Height and not the Logical
Screen Size:

/-----------

Int DGifSlurp(GifFileType * GifFile)

ClamAV get_unicode_name() off-by-one buffer overflow

        First the `size' of the `name' buffer multiplied by 7 is used to
        allocate the destination buffer `newname'. When the `name' buffer
        only consists of characters matching some specific criteria [1]
        and `big_endian' is set, the following loop can write exactly 7
        characters into the allocated destination buffer `newname' per
        character found in source buffer `name'.

        This effectively fills up the destination buffer completely. After
        the loop in line 143, the terminating NUL byte is written and
        overflows the allocated buffer on the heap.

ZDI-08-002: Citrix Presentation Server IMA Service Heap Overflow Vulnerability

The specific flaw resides in the Independent Management Architecture
service, ImaSrv.exe, which listens by default on TCP port 2512 or 2513.
The process trusts a user-suppled value as a parameter to a memory
allocation. By supplying a specific value, an undersized heap buffer
may be allocated. Subsequently, an attacker can then overflow that heap
buffer by sending an overly large packet leading to arbitrary code
execution in the context of the SYSTEM user.


-- Vendor Response:

Heap overflow in RealPlayer ID3 tag parser

=================
Technical Details
=================
The problem stems from the parsing of a Lyrics3 v2.00 tag.  The size of
the tag is calculated by reading 5 ASCII characters and calling
pncrt.atoi.  A buffer is then allocated on the heap of size tag length +
1.  Since atoi parses a signed integer, supplying -1, results in a zero
length allocation into which data is copied.

This can be exploited to overwrite a function pointer leading to the
execution of arbitrary attacker-supplied code in the context of the user

[W02-1008] GearSoftware Powered Products Local Privilege Escalation (Microsoft Windows Kernel IopfCompleteRequest Integer Overflow)

After the first iterate within the for(){...} , CurrentLocation  will be
0x80 which is a negative value so Irp->CurrentLocation <= (CHAR)
(Irp->StackCount+1) becomes TRUE.Hence, remaining iterations will be
running out of allocated memory, traversing arbitrary and invalid stack
locations.



            4. Exploiting it.

iDefense Security Advisory 06.10.08: Multiple Vendor OpenOffice rtl_allocateMemory() Integer Overflow Vulnerability

(gp_alloc_arena, &size);
   208

The problem occurs at line 198. The n + RTL_MEMALIGN calculation can
overflow if n > UINT_MAX - RTL_MEMALIGN. This results in an undersized
buffer being allocated at try_alloc. This buffer is then passed back to
the calling function, which assumes that the buffer is much larger than
it actually is. This results in a heap overflow.

As this vulnerability occurs in the core memory allocator, there are
numerous ways to trigger the vulnerable code using a wide variety of

iDefense Security Advisory 09.19.07: Multiple Vendor ImageMagick Sign Extension Vulnerability

At line 558, "dib_info.width" is a signed short, which is extended to an
unsigned long and assigned to "image->columns". For example, a value of
0x8000 will be extended to 0xffff8000. Later, it is used as a
multiplier when calculating the allocation size. An integer overflow
occurs, leading to a heap block of insufficient size being allocated.
Consequently, a heap buffer overflow occurs.

III. ANALYSIS

Exploitation of this vulnerability allows an attacker to execute

Server termination in the Unreal engine 3

  Critical: Ran out of virtual memory. To prevent this condition, you
  must free up more space on your primary hard disk."

Turning Point: Fall of Liberty is another game which uses the Unreal
engine 3 but, differently to the others tested by me, the function
which allocates the memory doesn't shut down the entire game for
reporting the error but simply returns a NULL value (like a classical
malloc) which is correctly handled and so the game is not vulnerable.

The attack can be performed versus the server using one simple UDP
packet with the possibility of spoofing it.

ZDI-08-085: Microsoft Office RTF Drawing Object Heap Overflow Vulnerability

malicious e-mail, or open a malicious file.

The specific flaw exists within the parsing of RTF documents containing
multiple drawing object tags. First, code within wwlib.dll allocates a
buffer for the tag object. Later, a result from a call into mso.dll is
copied into the same buffer but with a larger size than was allocated by
the callee. Successful exploitation can lead to remote compromise of a
system under the credentials of the currently logged in user.

-- Vendor Response:
Microsoft has issued an update to correct this vulnerability. More

ZDI-09-039: Microsoft Internet Explorer onreadystatechange Memory Corruption Vulnerability

interaction is required to exploit this vulnerability in that the target
must visit a malicious page.

The specific flaw exists when repeated calls are made to
getElementsByTagName() and the reordering of the elements in the
document causes an object to be allocated. The use of the event
"onreadystatechange" during this operation improperly frees the
previously allocated resource. The combination, with repeated page
rendering, leads to the exploitable memory corruption.

-- Vendor Response:

Cisco Security Advisory: Cisco IOS Software NAT Skinny Call Control Protocol Vulnerability

    Dynamic mappings:
    -- Inside Source
    access-list 1 pool mypool refcount 2
     pool mypool: netmask 255.255.255.0
            start 192.168.10.1 end 192.168.10.254
            type generic, total addresses 14, allocated 2 (14%), misses 0

You can also use the "show running-config | include ip nat" command to
verify if NAT has been enabled on the device.

In NAT traditional configurations, the term "inside" refers to those

iDefense Security Advisory 08.21.07: Trend Micro ServerProtect RPCFN_SYNC_TASK Integer Overflow Vulnerability

An integer overflow exists wtihin the RPCFN_SYNC_TASK function. This
function allocates memory based on a user-supplied integer within the
request data. By specifying a value that causes an integer overflow
during arithmetic calculations, an attacker can cause too little memory
to be allocated. User-supplied data is then copied into the resulting
buffer using lstrcpyW. This results in an exploitable heap buffer
overflow.

III. ANALYSIS


iDefense Security Advisory 03.09.10: Microsoft Excel Sheet Object Type Confusion Vulnerability

This vulnerability is a type confusion vulnerability that occurs when
parsing several related Excel record types. In this case, the type
confusion is due to multiple records containing fields that identify
the type of an object shared between them.

By controlling memory outside of the bounds of the allocated heap chunk,
an attacker can control a C++ object pointer used in a virtual function
call. This can result in an area of memory being treated as a different
type of object than it actually is, resulting in access outside of the
bounds of the allocated object.


iDefense Security Advisory 11.14.07: Apple Mac OS X AppleTalk mbuf Kernel Heap Overflow Vulnerability

buffers for storing network related data.

When allocating an mbuf buffer, the kernel performs a comparison using
two signed integers, one of which is controlled by the user, to
determine how many bytes to allocate. If a user passes a negative
value, a minimally sized buffer will be allocated due to the signed
comparison. The calling function will usually interpret the user
controlled value as an unsigned value, and this results in the
allocated buffer being overflowed.

III. ANALYSIS

iDefense Security Advisory 01.13.09: RIM BlackBerry Enterprise Server Attachment Service PDF Distiller Uninitialized Memory Vulnerability

file. Due to a logic error, it is possible to allocate an array of
object pointers that is never initialized. This array is located on the
heap. When the object that contains this array is destroyed, each
pointer in the array is deleted. Since the memory is never properly
initialized, whatever content was previously there is used. It is
possible to control the chunk of memory that gets allocated for this
array, which can lead to attacker-controlled values being used as
object pointers. This results in the execution of arbitrary code when
these pointers are deleted.

III. ANALYSIS

<<Previous Next>>

Copyright © 1995-2012 LinuxRocket.net. All rights reserved.

Nearly all of LinuxRocket's features are free. Be kind and donate to the cause!