Edit report at https://bugs.php.net/bug.php?id=62474&edit=1

 ID:                 62474
 Comment by:         fb1h2s at gmail dot com
 Reported by:        deadb17ch at gmail dot com
 Summary:            com_event_sink crashes when closure object given as
                     an argument
 Status:             Open
 Type:               Bug
 Package:            COM related
 Operating System:   Windows XP SP3
 PHP Version:        5.4.4
 Block user comment: N
 Private report:     N

 New Comment:

It's possible to achieve code execution using this bug. 

$_evil_object = new VARIANT(0x41414141);


Previous Comments:
------------------------------------------------------------------------
[2012-07-03 20:18:20] deadb17ch at gmail dot com

Description:
------------
com_event_sink() crashes when closure object (anonymouse function) is given as 
the 
second argument...

Test script:
---------------
<?php

$__evil = function() { };

com_event_sink(
        /* variant */   new Variant(),
        /* object  */   $__evil,                        // oink!
        /* mixed   */   array()
);

?>

Expected result:
----------------
nothing happends or an information about error (or maybe argument type 
mismatch) 
occurs


Actual result:
--------------
crash

eax=00000000 ebx=010328f0 ecx=00000000 edx=00000001 esi=0121e438 edi=00000000
eip=100f33c8 esp=00c0fa50 ebp=00000000 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00200202
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for 
C:\xampp\php\php5ts.dll - 
php5ts!php_com_load_typelib_via_cache+0x118:
100f33c8 8b08            mov     ecx,dword ptr [eax]  ds:0023:00000000=???????? 


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=62474&edit=1

Reply via email to