module
MS13-090 CardSpaceClaimCollection ActiveX Integer Underflow
Disclosed | Created |
---|---|
2013-11-08 | 2018-05-30 |
Disclosed
2013-11-08
Created
2018-05-30
Description
This module exploits a vulnerability on the CardSpaceClaimCollection class from the
icardie.dll ActiveX control. The vulnerability exists while the handling of the
CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of
elements on a SafeArray and keeps a size field, counting the number of elements on the
collection. By calling the remove() method on an empty CardSpaceClaimCollection it is
possible to underflow the length field, storing a negative integer. Later, a call to
the add() method will use the corrupted length field to compute the address where write
into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents.
This module achieves code execution by using VBScript as discovered in the wild on
November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create
a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt
one of the legit OBJECT elements with the described integer overflow and (5) achieve code
execution by forcing the use of the corrupted OBJECT.
icardie.dll ActiveX control. The vulnerability exists while the handling of the
CardSpaceClaimCollection object. CardSpaceClaimCollections stores a collection of
elements on a SafeArray and keeps a size field, counting the number of elements on the
collection. By calling the remove() method on an empty CardSpaceClaimCollection it is
possible to underflow the length field, storing a negative integer. Later, a call to
the add() method will use the corrupted length field to compute the address where write
into the SafeArray data, allowing to corrupt memory with a pointer to controlled contents.
This module achieves code execution by using VBScript as discovered in the wild on
November 2013 to (1) create an array of html OBJECT elements, (2) create holes, (3) create
a CardSpaceClaimCollection whose SafeArray data will reuse one of the holes, (4) corrupt
one of the legit OBJECT elements with the described integer overflow and (5) achieve code
execution by forcing the use of the corrupted OBJECT.
Authors
Unknown
juan vazquez juan.vazquez@metasploit.com
juan vazquez juan.vazquez@metasploit.com
Platform
Windows
References
Module Options
To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

NEW
Explore Exposure Command
Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.