{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-93352","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","state":"PUBLISHED","assignerShortName":"VulnCheck","dateReserved":"2026-09-17T18:41:40.757Z","datePublished":"2026-09-23T21:36:23.658Z","dateUpdated":"2026-09-23T21:36:23.658Z"},"containers":{"cna":{"providerMetadata":{"orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","shortName":"VulnCheck","dateUpdated":"2026-09-23T21:36:23.658Z"},"title":"Laravel-Mediable 7.0.0 < 7.0.2 RCE via .pht File Upload","descriptions":[{"lang":"en","value":"Laravel-Mediable 7.0.0 before 7.0.2 contains an incomplete patch for CVE-2026-49972 in which the .pht extension is absent from the forbidden_extensions blocklist in config/mediable.php. The blocklist introduced to address CVE-2026-49972 includes phpt but omits pht, which Apache executes as PHP via the default FilesMatch directive on Debian and Ubuntu systems. An attacker can upload a .pht file that passes all validation in MediaUploader::verifyExtension() and File::sanitizeFileName() because pht is not present in the blocklist, causing the file to be written to disk and executed as PHP when requested, enabling remote code execution with the privileges of the web server process."}],"tags":["x_open-source"],"datePublic":"2026-09-15T00:00:00.000Z","problemTypes":[{"descriptions":[{"lang":"en","cweId":"CWE-434","description":"Unrestricted Upload of File with Dangerous Type","type":"CWE"}]}],"affected":[{"defaultStatus":"unaffected","vendor":"plank","product":"laravel-mediable","packageURL":"pkg:github/plank/laravel-mediable","repo":"https://github.com/plank/laravel-mediable","versions":[{"status":"affected","version":"7.0.0","versionType":"semver","lessThan":"7.0.2"}]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"CRITICAL","baseScore":9.3,"vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}},{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV3_1":{"attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH","version":"3.1","baseSeverity":"CRITICAL","baseScore":9.8,"vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}}],"references":[{"url":"https://github.com/plank/laravel-mediable/releases/tag/7.0.2","name":"Release Notes","tags":["release-notes"]},{"url":"https://github.com/plank/laravel-mediable/pull/396","name":"Pull Request","tags":["issue-tracking"]},{"url":"https://github.com/plank/laravel-mediable/commit/8ddb0e5b300084e91ad2cb18a6e7bc768bb7b008","name":"Patch Commit","tags":["patch"]},{"url":"https://www.vulncheck.com/advisories/laravel-mediable-rce-via-pht-file-upload","tags":["third-party-advisory"]}],"credits":[{"lang":"en","value":"Aniket Akhade","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"vulncheck"}}}}