{"api_version":"1","generated_at":"2026-11-06T16:42:42+00:00","cve":"CVE-2026-92895","urls":{"html":"https://cve.report/CVE-2026-92895","api":"https://cve.report/api/cve/CVE-2026-92895.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-92895","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-92895"},"summary":{"title":"Live2DWebCanvas <= 2.2.1 - Unauthenticated Arbitrary File Upload via 'modelApi' Parameter","description":"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.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-11-06 12:17:24","updated_at":"2026-11-06 16:19:00"},"problem_types":["CWE-434","CWE-434 CWE-434 Unrestricted Upload of File with Dangerous Type"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Secondary","score":"8.1","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.1,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"8.1","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":8.1,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L965","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L965","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L235","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L235","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/d6f6a941-972d-420f-bc56-e4b955e30313?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/d6f6a941-972d-420f-bc56-e4b955e30313?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/wordpress-live2d.php#L190","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/wordpress-live2d.php#L190","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1054","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1054","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1016","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1016","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L114","name":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L114","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-92895","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-92895","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"jiangweifang","product":"Live2DWebCanvas","version":"affected 2.2.1 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-08-24T00:00:00.000Z","lang":"en","value":"Discovered"},{"source":"CNA","time":"2026-11-05T22:01:15.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"Osman Hussein","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-92895","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","timestamp":"2026-11-06T15:10:42.104739Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-11-06T15:16:23.678Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"defaultStatus":"unaffected","product":"Live2DWebCanvas","vendor":"jiangweifang","versions":[{"lessThanOrEqual":"2.2.1","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"Osman Hussein"}],"descriptions":[{"lang":"en","value":"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."}],"metrics":[{"cvssV3_1":{"baseScore":8.1,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-434","description":"CWE-434 Unrestricted Upload of File with Dangerous Type","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-11-06T11:17:38.427Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/d6f6a941-972d-420f-bc56-e4b955e30313?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1054"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L965"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L235"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L1016"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/src/live2d-V2Api.php#L114"},{"url":"https://plugins.trac.wordpress.org/browser/live-2d/trunk/wordpress-live2d.php#L190"}],"timeline":[{"lang":"en","time":"2026-08-24T00:00:00.000Z","value":"Discovered"},{"lang":"en","time":"2026-11-05T22:01:15.000Z","value":"Disclosed"}],"title":"Live2DWebCanvas <= 2.2.1 - Unauthenticated Arbitrary File Upload via 'modelApi' Parameter"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-92895","datePublished":"2026-11-06T11:17:38.427Z","dateReserved":"2026-09-17T09:17:49.094Z","dateUpdated":"2026-11-06T15:16:23.678Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-11-06 12:17:24","lastModifiedDate":"2026-11-06 16:19:00","problem_types":["CWE-434","CWE-434 CWE-434 Unrestricted Upload of File with Dangerous Type"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.1,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.2,"impactScore":5.9}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-11-06T15:10:42.104739Z","id":"CVE-2026-92895","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"92895","Ordinal":"1","Title":"Live2DWebCanvas <= 2.2.1 - Unauthenticated Arbitrary File Upload","CVE":"CVE-2026-92895","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"92895","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"Live2DWebCanvas <= 2.2.1 - Unauthenticated Arbitrary File Upload"}]}}}