Laravel-Mediable < 7.0.0 File Upload RCE via Extension Bypass
Laravel-Mediable before 7.0.0 contains a file upload vulnerability that allows unauthenticated attackers to achieve remote code execution by uploading a file with an embedded PHP extension disguised within a double extension such as shell.php.jpg. The PATHINFO_FILENAME extraction preserves the inner .php extension in the base name, and on misconfigured Apache or nginx servers that execute any filename containing .php as PHP, the stored file is interpreted as executable code while all MIME type, extension, and aggregate type validation checks pass due to the outer .jpg extension.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-49972
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 2 Nov 2026, 16:46 UTC · Revision 1
Source evidence
Laravel-Mediable < 7.0.0 File Upload RCE via Extension Bypass
core-osv · Original sourcePublished 13 Jul 2026, 18:16 UTC
Laravel-Mediable before 7.0.0 contains a file upload vulnerability that allows unauthenticated attackers to achieve remote code execution by uploading a file with an embedded PHP extension disguised within a double extension such as shell.php.jpg. The PATHINFO_FILENAME extraction preserves the inner .php extension in the base name, and on misconfigured Apache or nginx servers that execute any filename containing .php as PHP, the stored file is interpreted as executable code while all MIME type, extension, and aggregate type validation checks pass due to the outer .jpg extension.
osv:CVE-2026-49972
Complete source record
{
"id": "587c7c23f92cc1c5d10550110e1090be2dd27014e512b81f8fff73828562fe53",
"url": "https://osv.dev/vulnerability/CVE-2026-49972",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Laravel-Mediable < 7.0.0 File Upload RCE via Extension Bypass",
"summary": "Laravel-Mediable before 7.0.0 contains a file upload vulnerability that allows unauthenticated attackers to achieve remote code execution by uploading a file with an embedded PHP extension disguised within a double extension such as shell.php.jpg. The PATHINFO_FILENAME extraction preserves the inner .php extension in the base name, and on misconfigured Apache or nginx servers that execute any filename containing .php as PHP, the stored file is interpreted as executable code while all MIME type, extension, and aggregate type validation checks pass due to the outer .jpg extension.",
"evidence": "osv:CVE-2026-49972",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-49972",
"aliases": [
"CVE-2026-49972"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/plank/laravel-mediable",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "51084151d1590be9c4331fa42e006968f2e6c696"
},
{
"fixed": "49e3583bed13423611b3391f89e6b002571eed73"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "7.0.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"fixed": "51084151d1590be9c4331fa42e006968f2e6c696"
}
],
"source": "REFERENCES_TAG",
"original_tag": "7.0.0"
},
{
"range": [
{
"fixed": "49e3583bed13423611b3391f89e6b002571eed73"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
}
],
"versions": [
"6.5.0",
"6.4.0",
"6.3.1",
"6.3.0",
"6.2.1",
"6.2.0",
"6.1.3",
"6.1.2",
"6.1.1",
"6.1.0",
"6.0.5",
"6.0.4",
"6.0.3",
"6.0.2",
"6.0.1",
"6.0.0",
"5.9.1",
"5.9.0",
"5.8.0",
"5.7.0",
"5.6.0",
"5.5.0",
"5.4.1",
"5.4.0",
"5.3.1",
"5.2.1",
"5.2.0",
"5.1.1",
"5.1.0",
"5.0.7",
"5.0.6",
"5.0.5",
"5.0.4",
"5.0.3",
"5.0.2",
"5.0.1",
"5.0.0",
"4.4.2",
"4.4.1",
"4.4.0",
"4.3.2",
"4.3.1",
"4.3.0",
"4.2.3",
"4.2.2",
"4.2.1",
"4.2.0",
"4.1.0",
"4.0.1",
"4.0.0",
"3.0.1",
"3.0.0",
"2.9.0",
"2.8.2",
"2.8.1",
"2.8.0",
"2.7.3",
"2.7.2",
"2.7.1",
"2.7.0",
"2.6.2",
"2.6.1",
"2.6.0",
"2.5.0",
"2.4.8",
"2.4.7",
"2.4.6",
"2.4.5",
"2.4.4",
"2.4.3",
"2.4.1",
"2.4.0",
"2.3.0",
"2.2.3",
"2.1.0",
"2.0.0",
"1.0.1",
"1.0.0",
"0.3.0",
"0.2.0",
"0.1.4",
"0.1.3",
"0.1.2",
"0.1.1",
"0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-49972.json"
}
}
],
"modified": "2026-10-28T02:30:21.074193828Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49972.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-49972",
"https://www.vulncheck.com/advisories/laravel-mediable-file-upload-rce-via-extension-bypass",
"https://github.com/plank/laravel-mediable/commit/49e3583bed13423611b3391f89e6b002571eed73",
"https://github.com/plank/laravel-mediable/releases/tag/7.0.0",
"https://github.com/plank/laravel-mediable"
],
"provider_metadata": {
"cwe_ids": [
"CWE-434"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/49xxx/CVE-2026-49972.json"
}
},
"related_cves": [
{
"value": "CVE-2026-49972",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 487369,
"published_at": "2026-07-13T18:16:02.131+00:00"
}