---
id: CVE-2026-93352
title: >-
  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
summary: >-
  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 …
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cwe:
  - CWE-434
vendor: plank
product: laravel-mediable
affected:
  - laravel-mediable >= 7.0.0 < 7.0.2
published: '2026-09-23'
updated: '2026-09-24'
sourceUpdated: '2026-09-24T21:08:55.030'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-93352'
references:
  - url: >-
      https://github.com/plank/laravel-mediable/commit/8ddb0e5b300084e91ad2cb18a6e7bc768bb7b008
    label: disclosure@vulncheck.com
  - url: 'https://github.com/plank/laravel-mediable/pull/396'
    label: disclosure@vulncheck.com
  - url: 'https://github.com/plank/laravel-mediable/releases/tag/7.0.2'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/laravel-mediable-rce-via-pht-file-upload
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
epss: 0.00622
epssPercentile: 0.4751
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-09-24T15:45:19.992775Z'
ingestedAt: '2026-09-23T22:33:56.539Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
