{"id":"CVE-2021-24171","aliases":["EUVD-2021-11085","GHSA-73q3-2843-4j2x"],"status":"published","title":"WooCommerce Upload Files \u003c 59.4 - Unauthenticated Arbitrary File Upload","description":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a \"blocked\" extension within another \"blocked\" extension in the \"wcuf_file_name\" parameter. It was also possible to perform a double extension attack and upload files to a different location via path traversal using the \"wcuf_current_upload_session_id\" parameter.","severity":{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-12","score":0.01899,"percentile":0.79961,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-434"],"published":"2021-04-05T18:27:44Z","modified":"2026-06-17T03:39:30Z","products":[{"vendor":"unknown","product":"woocommerce upload files"},{"vendor":"vanquish","product":"woocommerce_upload_files"}],"references":[{"url":"https://wpscan.com/vulnerability/ed4288a1-f7e4-455f-b765-5ac343f87194","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory"]},{"url":"https://www.wordfence.com/blog/2021/03/critical-vulnerability-patched-in-woocommerce-upload-files/","tags":["x_refsource_MISC","x_transferred","Third Party Advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-24171"},{"url":"https://www.wordfence.com/blog/2021/03/critical-vulnerability-patched-in-woocommerce-upload-files"},{"url":"https://github.com/advisories/GHSA-73q3-2843-4j2x"}],"sources":{"cve":[{"id":"CVE-2021-24171","title":"WooCommerce Upload Files \u003c 59.4 - Unauthenticated Arbitrary File Upload","description":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a \"blocked\" extension within another \"blocked\" extension in the \"wcuf_file_name\" parameter. It was also possible to perform a double extension attack and upload files to a different location via path traversal using the \"wcuf_current_upload_session_id\" parameter.","status":"published","published":"2021-04-05T18:27:44Z","modified":"2024-08-03T19:21:18.699Z","cwes":["CWE-434"],"updated_at":"2026-11-02T14:33:05.331617Z"}],"euvd":[{"id":"EUVD-2021-11085","description":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a \"blocked\" extension within another \"blocked\" extension in the \"wcuf_file_name\" parameter. It was also possible to perform a double extension attack and upload files to a different location via path traversal using the \"wcuf_current_upload_session_id\" parameter.","status":"published","published":"2021-04-05T18:27:44Z","modified":"2024-08-03T19:21:18Z","updated_at":"2026-11-03T03:24:59.071017Z"}],"ghsa":[{"id":"GHSA-73q3-2843-4j2x","title":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to...","description":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a \"blocked\" extension within another \"blocked\" extension in the \"wcuf_file_name\" parameter. It was also possible to perform a double extension attack and upload files to a different location via path traversal using the \"wcuf_current_upload_session_id\" parameter.","status":"published","published":"2022-05-24T17:46:32Z","modified":"2024-11-25T18:34:28Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical"}],"cwes":["CWE-434"],"updated_at":"2026-11-02T14:58:56.988817Z"}],"nvd":[{"id":"CVE-2021-24171","description":"The WooCommerce Upload Files WordPress plugin before 59.4 ran a single sanitization pass to remove blocked extensions such as .php. It was possible to bypass this and upload a file with a PHP extension by embedding a \"blocked\" extension within another \"blocked\" extension in the \"wcuf_file_name\" parameter. It was also possible to perform a double extension attack and upload files to a different location via path traversal using the \"wcuf_current_upload_session_id\" parameter.","status":"published","published":"2021-04-05T19:15:15.857Z","modified":"2026-06-17T03:39:30.93Z","cvss":[{"version":"3.1","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","level":"critical","assessor":"primary"},{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-434"],"updated_at":"2026-11-02T14:06:51.197859Z"}]}}
