Bug #77440 [Com]: ldap_bind using ldaps or ldap_start_tls()=exception in libcrypto-1_1-x64.dll
| From: | tsimmons at gmail dot com | 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