CVE-2026-49972

Laravel-Mediable < 7.0.0 File Upload RCE via Extension Bypass

Published Jul 13, 2026 CVSS 4.0 · 7.7 High EPSS 1.1% KEV · Not listed
Description
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.

Analysis

AI-generated

Technical impact

This vulnerability—an instance of CWE-434 (Unrestricted Upload of File with Dangerous Type)—allows an attacker to upload files that are stored with a double extension such as shell.php.jpg. The file name is processed in a way that preserves the inner .php extension, so a misconfigured Apache or nginx server that executes any filename containing ".php" will treat the file as PHP code. Because MIME, extension, and aggregate type checks are bypassed, the attacker can inject malicious PHP into the target site, leading to remote code execution.

Affected Systems

The Laravel-Mediable package developed by plank, versions before 7.0.0, is impacted. Any application using this library without upgrading to version 7.0.0 or later is vulnerable.

Risk and Exploitability

The CVSS base score of 7.7 indicates high severity, the EPSS score is < 1% (approximately 0.00777), showing a low but measurable probability of exploitation, and the vulnerability is not listed in the KEV catalog. An unauthenticated attacker can exploit the flaw by simply uploading a crafted file with a double extension to a misconfigured server that processes filenames containing ".php" as executable scripts, making the attack straightforward.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the Laravel 7.0.0 or newer as soon as possible
  • If upgrading is not feasible immediately, reconfigure the web server to prevent execution of files whose names contain ".php" even if they have additional adjustments such as the AddHandler or location directives
  • Place or explicitly deny script execution for that directory
  • Validate uploaded filenames to reject any that contain ".php" or other executable extensions and enforce a strict whitelist of allowed file types

Generated by OpenCVE AI on July 31, 2026 at 11:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Plank
Plank laravel-mediable
Vendors & Products Plank
Plank laravel-mediable
Type Values Removed Values Added
Description 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.
Title Laravel-Mediable < 7.0.0 File Upload RCE via Extension Bypass
Weaknesses CWE-434
References
Metrics cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 7.7, 'vector': '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'}

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Jul 15, 2026, 6:49 PM
Reserved
Jun 2, 2026, 4:30 PM
Status
Deferred
Published
Jul 13, 2026, 7:17 PM
Modified
Oct 24, 2026, 10:10 PM