Synopsis
CVE-2020-5777 - Remote Authentication Bypass
Here, in MAGMI v0.7.23 source code https://github.com/dweeves/magmi-git/blob/18bd9ec905c90bfc9eaed0c2bf2d3525002e33b9/magmi/inc/magmi_auth.php#L35, it allows default magmi:magmi credentials to be used in the event a database connection fails. A remote attacker can trigger this connection failure if the Mysql setting max_connections (default 151) is lower than Apache (or another web server) setting MaxRequestWorkers (formerly MaxClients) (default 256). This can be done by sending at least 151 simultaneous requests to the Magento website to trigger a "Too many connections" error, then use default magmi:magmi basic authentication to remotely bypass authentication. To recreate the triggering of max connections error, performing a large number of requests to following URIs worked.
POST /index.php/newsletter/subscriber/new/
or
GET /index.php/catalogsearch/advanced/result/?name=xxx
Once db connection is maxed out, an attacker can authenticate with default credentials and execute arbitrary commands on the server by uploading a php webshell. This issue has been patched in v0.7.24.
CVE-2020-5776 - Cross Site Request Forgery (CSRF)
Due to the lack of CSRF tokens, RCE (via phpcli command) is possible in the event that a CSRF is leveraged against an existing admin session for MAGMI. At the time of this advisory, no patch exists for this issue.
Solution
The fix for CVE-2020-5777 is in MAGMI version 0.7.24 and it is recommended to update to that version, however, there is no known solution for CVE-2020-5776 at this time.Proof of Concept
Disclosure Timeline
All information within TRA advisories is provided “as is”, without warranty of any kind, including the implied warranties of merchantability and fitness for a particular purpose, and with no guarantee of completeness, accuracy, or timeliness. Individuals and organizations are responsible for assessing the impact of any actual or potential security vulnerability.
Tenable takes product security very seriously. If you believe you have found a vulnerability in one of our products, we ask that you please work with us to quickly resolve it in order to protect customers. Tenable believes in responding quickly to such reports, maintaining communication with researchers, and providing a solution in short order.
For more details on submitting vulnerability information, please see our Vulnerability Reporting Guidelines page.
If you have questions or corrections about this advisory, please email [email protected]