magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.47k stars 9.29k forks source link

Zero Dollar Authorization Exploit - Payflow Pro - M2.2.6 #21870

Closed AndyJAllen closed 5 years ago

AndyJAllen commented 5 years ago

Preconditions (*)

  1. Magento 2.2.6
  2. Payflow Pro

Steps to reproduce (*)

  1. Have Payflow Pro enabled and website live long enough to be attacked

Expected result (*)

  1. I would expect the Paypal module wouldn't let fradulent cards get tested with $0 amounts and most data fields being NULL

Actual result (*)

  1. Many automated $0 transactions being recorded in logs and on Paypal PaypalExploit
  2. Note there are a bunch of people experiencing this, and to my knowledge this hasn't been posted on github yet. https://community.magento.com/t5/Magento-2-x-Technical-Issues/PayPal-Payflow-extension-exploited-for-fraudulent-transactions/m-p/123002#M8349

Example from the Magento Paypal Log: [2019-03-21 12:01:19] main.DEBUG: array ( 'request' => array ( 'user' => '(removed)', 'vendor' => '(removed)', 'partner' => '(removed)', 'pwd' => '(removed)', 'verbosity' => 'HIGH', 'BUTTONSOURCE' => 'Magento_Cart_Community', 'tender' => 'C', 'trxtype' => 'A', 'amt' => 0, 'createsecuretoken' => 'Y', 'securetokenid' => '(removed)', 'returnurl' => '(removed)/paypal/transparent/response/', 'errorurl' => '(removed)/paypal/transparent/response/', 'cancelurl' => '(removed)/paypal/transparent/cancel/', 'disablereceipt' => 'TRUE', 'silenttran' => 'TRUE', 'firstname' => NULL, 'lastname' => NULL, 'street' => '', 'city' => NULL, 'state' => NULL, 'zip' => NULL, 'country' => NULL, 'email' => NULL, 'shiptofirstname' => NULL, 'shiptolastname' => NULL, 'shiptostreet' => '', 'shiptocity' => NULL, 'shiptostate' => NULL, 'shiptozip' => NULL, 'shiptocountry' => NULL, ), 'result' => array ( 'result' => '0', 'securetoken' => '(removed)', 'securetokenid' => '(removed)', 'respmsg' => 'Approved', 'result_code' => '0', ),

magento-engcom-team commented 5 years ago

Hi @AndyJAllen. Thank you for your report. To help us process this issue please make sure that you provided the following information:

Please make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, please, add a comment to the issue:

@magento-engcom-team give me 2.3-develop instance - upcoming 2.3.x release

For more details, please, review the Magento Contributor Assistant documentation.

@AndyJAllen do you confirm that you was able to reproduce the issue on vanilla Magento instance following steps to reproduce?

magento-engcom-team commented 5 years ago

Hi @engcom-backlog-nazar. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

ghost commented 5 years ago

Hi @AndyJAllen thank you for you report, this issue has already fixed in 2.2-develop and 2.3-develop branch and will be available on 2.2.8 and 2.3.1 release. https://github.com/magento/magento2/issues/21781

AndyJAllen commented 5 years ago

The latest Paypal module code from the 2.2-develop branch did NOT work! I still got hit with $0 auths! Please re-open issue.

larryflp commented 5 years ago

We have about 30 extensions and custom theme installed on 3 sites that are currently affected.

Instead of doing a full site upgrade, which would take a while, can I just copy a particular directory that contains the PayFlow updated files?

Also, can I simply copy the files over on the three sites being on different M versions? The sites are on:

2.2.6 2.2.1 2.1.5

I'm assuming I may be able to copy the directory with PayFlow files to the 2.2.x sites and not need to upgrade. Would I need to upgrade the 2.1.5 site?

Over the last 3 weeks we've been turned off by PayFlow 3-4 times trying to figure out the issue and its nice to see this is addressed. We are currently down on 3 of our sites and I need to get back online ASAP.

Thanks in advance.

Larry

JorenRapini commented 3 years ago

Does anyone have a solution to this yet? Our store just started having this same exact issue. Just updated to the latest magento 2 version too and it's still happening.

larryflp commented 3 years ago

I believe there are captcha options you can enable in the latest versions of Magento that are supposed to prevent the carding issue.

We were affected very badly a couple of years ago and ended up just switching over to Stripe. Free to sign up and no monthly fees.

JorenRapini commented 3 years ago

I believe there are captcha options you can enable in the latest versions of Magento that are supposed to prevent the carding issue.

We were affected very badly a couple of years ago and ended up just switching over to Stripe. Free to sign up and no monthly fees.

Ahhhh looks like that did the trick, thanks