CVE-2026-92895
Live2DWebCanvas <= 2.2.1 - Unauthenticated Arbitrary File Upload via 'modelApi' Parameter
What happened?
The Live2DWebCanvas plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 2.2.1 via the download_one_file function. This is due to missing file extension whitelist and MIME type validation in download_one_file() when writing files derived from attacker-controlled manifest entries to the web-served plugin directory. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible when the plugin's apiType setting is configured as custom-local (self-hosted model mode), a non-default option that requires a paid license and prints the REST nonce and one-time session tokens into every front-end page.
Affected software and versions
| Software | Version information | Fixed version |
|---|---|---|
| Live2DWebCanvasjiangweifang | affected: 0 to ≤ 2.2.1 | See vendor advisory |
Version information comes from the source record and can include unaffected products and exceptions. Distribution packages may contain backported fixes: an older upstream version alone does not prove a server is affected.
Is it being exploited?
This CVE was not listed in the CISA catalogue at our last retrieval. This does not establish that exploitation is absent.
How to respond
- Confirm the product, installed package version, and any configuration requirements in the vendor advisory.
- Follow the vendor’s remediation or workaround guidance in the references below. Structured fixed-version data is unavailable here; the publisher’s description may include a fix or workaround.
- Restart affected services if required, then verify the running version. Known exploitation may warrant investigation as well as patching.
Sources and remediation references
- https://www.cve.org/CVERecord?id=CVE-2026-92895
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d6f6a941-972d-420f-bc56-e4b955e30313?source=cve
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1054
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L965
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L235
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1016
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L114
- https://plugins.trac.wordpress.org/browser/live-2d/trunk/wordpress-live2d.php#L190