由于POODLE漏洞, 一些支付处理商已经开始停止使用SSLv3.0, 这有可能导致收款出现问题:
现象:
付款过程中客户有可能看到这样的错误信息:
"An error occurred when we tried to contact the payment processor. Please try again, select an alternate payment method, or contact the store owner for assistance. () - (35) error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number"
背景:
在过去几年 告诉PHP弃用缺省的SSLv2通信是很重要的, 于是我们指定了SSLv3, 但现在SSLv3已经被 TLS 1.0 1.1 和 1.2所超越, 现在较新版本的PHP和libcurl只要没有指定SSL的版本 他们能够自动协议使用最优的SSL版本, 所以对于POODLE漏洞最好的办法就是修改ZENCART的代码 不指定SSL版本, 让PHP和libcurl自动协商.
受影响的版本:
v1.3.8a - 只有linkpoint_api module受影响
v1.3.9 - 以下所有文件受影响
v1.5.0-v1.5.3 - 以下所有文件受影响
受影响的文件:
/includes/modules/payment/paypal/paypal_curl.php 约58行
/includes/modules/payment/authorizenet_aim.php 约600行
/includes/modules/payment/authorizenet_echeck.php 约589行
/includes/modules/payment/paypaldp.php 约2342行 (有些版本有此文件, 有些没有, ...