Bug #77440 [Com]: ldap_bind using ldaps or ldap_start_tls()=exception in libcrypto-1_1-x64.dll

From: Date: Sat, 12 Jan 2019 19:45:20 +0000
Subject: Bug #77440 [Com]: ldap_bind using ldaps or ldap_start_tls()=exception in libcrypto-1_1-x64.dll
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-218918@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77440&edit=1 ID: 77440 Comment by: tsimmons at gmail dot com Reported by: tsimmons at gmail dot com Summary: ldap_bind using ldaps or ldap_start_tls()=exception in libcrypto-1_1-x64.dll Status: Open Type: Bug Package: OpenSSL related Operating System: Windows 2008 R2, 64-bit PHP Version: 7.2.14 Block user comment: N Private report: N New Comment: I would go with the 1.1.0j release from http://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries_.28required_for_SSL-enabled_components.29 since there have been security updates to OpenSSL since the 1.1.0i released with PHP 7.2.13. Previous Comments: ------------------------------------------------------------------------ [2019-01-11 17:57:43] jbrady at sbccd dot org I can confirm that using the two DLLs from 7.2.13 does resolve the issue. Also, here is a stack trace using VS2017 on Windows 10: libcrypto-1_1-x64.dll!00007ffd2aa73708() libssl-1_1-x64.dll!00007ffd3a43a422() php_ldap.dll!tlso_sb_setup(sockbuf_io_desc * sbiod, void * arg) Line 873 at e:\repo\winlibs_openldap\libraries\libldap\tls_o.c(873) libcrypto-1_1-x64.dll!00007ffd2aa72e36() libssl-1_1-x64.dll!00007ffd3a437880() php_ldap.dll!tlso_sb_remove(sockbuf_io_desc * sbiod) Line 885 at e:\repo\winlibs_openldap\libraries\libldap\tls_o.c(885) php_ldap.dll!ber_sockbuf_remove_io(sockbuf * sb, sockbuf_io * sbio, int layer) Line 229 at e:\repo\winlibs_openldap\libraries\liblber\sockbuf.c(229) php_ldap.dll!ldap_int_tls_connect(ldap * ld, ldap_conn * conn) Line 392 at e:\repo\winlibs_openldap\libraries\libldap\tls2.c(392) php_ldap.dll!ldap_int_tls_start(ldap * ld, ldap_conn * conn, ldap_url_desc * srv) Line 932 at e:\repo\winlibs_openldap\libraries\libldap\tls2.c(932) php_ldap.dll!ldap_int_open_connection(ldap * ld, ldap_conn * conn, ldap_url_desc * srv, int async) Line 450 at e:\repo\winlibs_openldap\libraries\libldap\open.c(450) php_ldap.dll!ldap_new_connection(ldap * ld, ldap_url_desc * * srvlist, int use_ldsb, int connect, ldapreqinfo * bind, int m_req, int m_res) Line 488 at e:\repo\winlibs_openldap\libraries\libldap\request.c(488) php_ldap.dll!ldap_open_defconn(ldap * ld) Line 41 at e:\repo\winlibs_openldap\libraries\libldap\open.c(41) php_ldap.dll!ldap_send_initial_request(ldap * ld, unsigned __int64 msgtype, const char * dn, berelement * ber, int msgid) Line 130 at e:\repo\winlibs_openldap\libraries\libldap\request.c(130) php_ldap.dll!ldap_sasl_bind(ldap * ld, const char * dn, const char * mechanism, berval * cred, ldapcontrol * * sctrls, ldapcontrol * * cctrls, int * msgidp) Line 164 at e:\repo\winlibs_openldap\libraries\libldap\sasl.c(164) php_ldap.dll!ldap_sasl_bind_s(ldap * ld, const char * dn, const char * mechanism, berval * cred, ldapcontrol * * sctrls, ldapcontrol * * cctrls, berval * * servercredp) Line 200 at e:\repo\winlibs_openldap\libraries\libldap\sasl.c(200) php_ldap.dll!zif_ldap_bind(_zend_execute_data * execute_data, _zval_struct * return_value) Line 631 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\ext\ldap\ldap.c(631) php_xdebug.dll!00007ffd7a8b5b18() php7.dll!ZEND_DO_FCALL_SPEC_RETVAL_USED_HANDLER(_zend_execute_data * execute_data) Line 1046 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\zend\zend_vm_execute.h(1046) php7.dll!execute_ex(_zend_execute_data * ex) Line 59739 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\zend\zend_vm_execute.h(59739) php_xdebug.dll!00007ffd7a8b57c8() php7.dll!zend_execute(_zend_op_array * op_array, _zval_struct * return_value) Line 63777 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\zend\zend_vm_execute.h(63777) php7.dll!zend_execute_scripts(int type, _zval_struct * retval, int file_count, ...) Line 1503 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\zend\zend.c(1503) php7.dll!php_execute_script(_zend_file_handle * primary_file) Line 2592 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\main\main.c(2592) php.exe!do_cli(int argc, char * * argv) Line 1012 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\sapi\cli\php_cli.c(1012) php.exe!main(int argc, char * * argv) Line 1403 at c:\php-snap-build\php72\vc15\x64\php-7.2.14\sapi\cli\php_cli.c(1403) [Inline Frame] php.exe!invoke_main() Line 78 at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(78) php.exe!__scrt_common_main_seh() Line 288 at f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl(288) kernel32.dll!BaseThreadInitThunk() ntdll.dll!RtlUserThreadStart() ------------------------------------------------------------------------ [2019-01-11 15:00:22] tsimmons at gmail dot com Perhaps it's related to this OpenLDAP bug? http://www.openldap.org/lists/openldap-bugs/201810/msg00000.html ... seems similar. ------------------------------------------------------------------------ [2019-01-11 14:20:12] tsimmons at gmail dot com Here is the backtrace running from command line: >libcrypto-1_1-x64.dll!000007fee18a3708() Unknown libssl-1_1-x64.dll!000007fee8e7a422() Unknown php_ldap.dll!tlso_sb_setup(sockbuf_io_desc * sbiod, void * arg) Line 873 C [External Code] php_ldap.dll!tlso_sb_remove(sockbuf_io_desc * sbiod) Line 885 C php_ldap.dll!ber_sockbuf_remove_io(sockbuf * sb, sockbuf_io * sbio, int layer) Line 229 C php_ldap.dll!ldap_int_tls_connect(ldap * ld, ldap_conn * conn) Line 392 C php_ldap.dll!ldap_int_tls_start(ldap * ld, ldap_conn * conn, ldap_url_desc * srv) Line 932 C php_ldap.dll!ldap_int_open_connection(ldap * ld, ldap_conn * conn, ldap_url_desc * srv, int async) Line 450 C php_ldap.dll!ldap_new_connection(ldap * ld, ldap_url_desc * * srvlist, int use_ldsb, int connect, ldapreqinfo * bind, int m_req, int m_res) Line 488 C php_ldap.dll!ldap_open_defconn(ldap * ld) Line 41 C php_ldap.dll!ldap_send_initial_request(ldap * ld, unsigned __int64 msgtype, const char * dn, berelement * ber, int msgid) Line 130 C php_ldap.dll!ldap_sasl_bind(ldap * ld, const char * dn, const char * mechanism, berval * cred, ldapcontrol * * sctrls, ldapcontrol * * cctrls, int * msgidp) Line 164 C php_ldap.dll!ldap_sasl_bind_s(ldap * ld, const char * dn, const char * mechanism, berval * cred, ldapcontrol * * sctrls, ldapcontrol * * cctrls, berval * * servercredp) Line 200 C php_ldap.dll!zif_ldap_bind(_zend_execute_data * execute_data, _zval_struct * return_value) Line 631 C php7.dll!ZEND_DO_ICALL_SPEC_RETVAL_USED_HANDLER(_zend_execute_data * execute_data) Line 627 C php7.dll!execute_ex(_zend_execute_data * ex) Line 59739 C php7.dll!zend_execute(_zend_op_array * op_array, _zval_struct * return_value) Line 63777 C php7.dll!zend_execute_scripts(int type, _zval_struct * retval, int file_count, ...) Line 1503 C php7.dll!php_execute_script(_zend_file_handle * primary_file) Line 2587 C php.exe!do_cli(int argc, char * * argv) Line 1012 C php.exe!main(int argc, char * * argv) Line 1403 C [External Code] ------------------------------------------------------------------------ [2019-01-11 14:06:46] tsimmons at gmail dot com If you revert just the two files: libcrypto-1_1-x64.dll libssl-1_1-x64.dll to version 1.1.0i (distributed with PHP 7.2.13) or 1.1.0j (available from http://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries_.28required_for_SSL-enabled_components.29) it works fine. I tried downloading other 1.1.1? binaries from https://bintray.com/vszakats/generic/openssl and http://wiki.overbyte.eu/wiki/index.php/ICS_Download#Download_OpenSSL_Binaries_.28required_for_SSL-enabled_components.29 but those didn't work either. Not sure if this is a PHP or OpenSSL issue. ------------------------------------------------------------------------ [2019-01-11 13:40:27] ab@php.net Thank you for this bug report. To properly diagnose the problem, we need a backtrace to see what is happening behind the scenes. To find out how to generate a backtrace, please read http://bugs.php.net/bugs-generating-backtrace.php for *NIX and http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32 Once you have generated a backtrace, please submit it to this bug report and change the status back to "Open". Thank you for helping us make PHP better. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=77440 -- Edit this bug report at https://bugs.php.net/bug.php?id=77440&edit=1

« previous php.bugs (#218918) next »