{"id":"CVE-2025-34104","state":"PUBLISHED","title":"Piwik Authenticated RCE via Custom Plugin Upload","description":"An authenticated remote code execution vulnerability exists in Piwik (now Matomo) versions prior to 3.0.3 via the plugin upload mechanism. In vulnerable versions, an authenticated user with Superuser privileges can upload and activate a malicious plugin (ZIP archive), leading to arbitrary PHP code execution on the underlying system. Starting with version 3.0.3, plugin upload functionality is disabled by default unless explicitly enabled in the configuration file.","publishedAt":"2025-07-15T13:06:51.072Z","updatedAt":"2026-07-14T22:25:44.095Z","severity":{"score":9.4,"label":"Critical","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","source":"VulnCheck"},"assigner":"VulnCheck","products":["Piwik (now Matomo) Web Analytics Platform"],"affected":[{"vendor":"Piwik (now Matomo)","product":"Web Analytics Platform","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.0.3","versionType":"semver"}],"modules":["CorePluginsAdmin::uploadPlugin","Marketplace::overview","pluginZip"]}],"references":["https://matomo.org/changelog/piwik-3-0-3/","https://matomo.org/faq/plugins/faq_21/","https://firefart.at/post/turning_piwik_superuser_creds_into_rce/","https://raw.githubusercontent.com/rapid7/metasploit-framework/master/modules/exploits/unix/webapp/piwik_superuser_plugin_upload.rb","https://www.vulncheck.com/advisories/piwik-authenticated-rce-via-custom-plugin-upload"],"weaknesses":["CWE-434","CWE-306"],"ingestedAt":"2026-10-29T20:09:03.054Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/34xxx/CVE-2025-34104.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-34104","state":"PUBLISHED","datePublished":"2025-07-15T13:06:51.072Z","dateUpdated":"2026-07-14T22:25:44.095Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2025-04-15T19:15:22.556Z"},"containers":{"cna":{"title":"Piwik Authenticated RCE via Custom Plugin Upload","descriptions":[{"lang":"en","value":"An authenticated remote code execution vulnerability exists in Piwik (now Matomo) versions prior to 3.0.3 via the plugin upload mechanism. In vulnerable versions, an authenticated user with Superuser privileges can upload and activate a malicious plugin (ZIP archive), leading to arbitrary PHP code execution on the underlying system. Starting with version 3.0.3, plugin upload functionality is disabled by default unless explicitly enabled in the configuration file."}],"affected":[{"vendor":"Piwik (now Matomo)","product":"Web Analytics Platform","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.0.3","versionType":"semver"}],"modules":["CorePluginsAdmin::uploadPlugin","Marketplace::overview","pluginZip"]}],"references":[{"url":"https://matomo.org/changelog/piwik-3-0-3/","tags":["vendor-advisory"]},{"url":"https://matomo.org/faq/plugins/faq_21/","tags":["product"]},{"url":"https://firefart.at/post/turning_piwik_superuser_creds_into_rce/","tags":["third-party-advisory"]},{"url":"https://raw.githubusercontent.com/rapid7/metasploit-framework/master/modules/exploits/unix/webapp/piwik_superuser_plugin_upload.rb","tags":["exploit"]},{"url":"https://www.vulncheck.com/advisories/piwik-authenticated-rce-via-custom-plugin-upload","tags":["third-party-advisory"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"NONE","attackVector":"NETWORK","baseScore":9.4,"baseSeverity":"CRITICAL","privilegesRequired":"HIGH","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"HIGH","subConfidentialityImpact":"HIGH","subIntegrityImpact":"HIGH","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"HIGH","vulnIntegrityImpact":"HIGH","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-434","description":"CWE-434 Unrestricted Upload of File with Dangerous Type","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-306","description":"CWE-306 Missing Authentication for Critical Function","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-07-14T22:25:44.095Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:oracle:web_analytics:*:*:*:*:*:*:*:*","versionEndExcluding":"3.0.3"}]}]}],"credits":[{"lang":"en","type":"finder","value":"FireFart"}],"impacts":[{"capecId":"CAPEC-148","descriptions":[{"lang":"en","value":"CAPEC-148 Content Spoofing"}]},{"capecId":"CAPEC-153","descriptions":[{"lang":"en","value":"CAPEC-153 Input Data Manipulation"}]}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-07-15T13:34:41.977912Z","id":"CVE-2025-34104","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-07-15T13:34:51.759Z"}}]}}}