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