Description
FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.224, the denylist that neutralizes dangerous file uploads (`Helper::$restricted_extensions`) is incomplete: it does not cover the `.pht` extension. The authenticated upload endpoint `POST /uploads/upload` (`SecureController@upload`) stores files with their original extension into the web-accessible directory `storage/app/public/uploads/` (served at `/storage/uploads/`). On the standard Apache + `libapache2-mod-php` deployment, the default handler `<FilesMatch ".+\.ph(ar|p[3457]?|t|tml)$">` executes `.pht`, so **any authenticated agent can upload a `.pht` web shell and run arbitrary commands as the web-server user** (`www-data`). This is a direct bypass of the fix for CVE-2025-48471, which added `phtml`/`phar` but not `pht` (nor `phtm`, `phps`). Version 1.8.224 contains an updated fix.
Published: 2026-07-20
Score: 8.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Unrestricted file uploads in FreeScout versions prior to 1.8.224 allow an authenticated user to upload a file with the .pht extension. Because the application stores the file with its original extension in a publicly served directory and the default Apache configuration treats .pht files as executable PHP, the uploaded file can act as a web shell that runs as the web‑server user (www‑data). This bypasses the earlier fix for CVE-2025-48471 that added phtml and phar to the blocked list but omitted pht. The result is that an attacker can execute arbitrary commands on the host with web‑server privileges.

Affected Systems

FreeScout help‑desk and shared inbox software built on Laravel, version 1.8.223 and earlier. Deployment environments that use Apache with the libapache2-mod-php module and serve uploaded files from the public uploads directory are impacted.

Risk and Exploitability

The CVSS score of 8.8 indicates high severity. The EPSS score is < 1%, indicating a low observed exploitation probability, yet the flaw remains critical because it involves direct code execution. The vulnerability is not listed in the CISA KEV catalog. Exploitation requires only legitimate authentication and permission to upload files; an authenticated agent can upload a .pht file and have it executed as the web‑server user. No additional preconditions or privilege escalation steps are needed, making the vulnerability straightforward to exploit once credentials are obtained.

Generated by OpenCVE AI on July 30, 2026 at 18:34 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade FreeScout to version 1.8.224 or later, which removes the .pht extension from the denylist.
  • Reconfigure the web server to prevent execution of .pht files—remove or modify the <FilesMatch> directive that includes .pht, or disable script execution for the uploads directory.
  • Restrict upload capabilities to trusted users only, or temporarily disable the upload endpoint while the issue remains unpatched.

Generated by OpenCVE AI on July 30, 2026 at 18:34 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 21 Jul 2026 15:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Mon, 20 Jul 2026 22:45:00 +0000

Type Values Removed Values Added
First Time appeared Freescout Helpdesk
Freescout Helpdesk freescout
Vendors & Products Freescout Helpdesk
Freescout Helpdesk freescout

Mon, 20 Jul 2026 20:00:00 +0000

Type Values Removed Values Added
Description FreeScout is a free help desk and shared inbox built with PHP's Laravel framework. Prior to version 1.8.224, the denylist that neutralizes dangerous file uploads (`Helper::$restricted_extensions`) is incomplete: it does not cover the `.pht` extension. The authenticated upload endpoint `POST /uploads/upload` (`SecureController@upload`) stores files with their original extension into the web-accessible directory `storage/app/public/uploads/` (served at `/storage/uploads/`). On the standard Apache + `libapache2-mod-php` deployment, the default handler `<FilesMatch ".+\.ph(ar|p[3457]?|t|tml)$">` executes `.pht`, so **any authenticated agent can upload a `.pht` web shell and run arbitrary commands as the web-server user** (`www-data`). This is a direct bypass of the fix for CVE-2025-48471, which added `phtml`/`phar` but not `pht` (nor `phtm`, `phps`). Version 1.8.224 contains an updated fix.
Title FreeScout Vulnerable to Authenticated Remote Code Execution via incomplete upload extension denylist (.pht) — bypass of CVE-2025-48471
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'}


Subscriptions

Freescout Helpdesk Freescout
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-21T14:56:31.717Z

Reserved: 2026-06-09T19:39:52.403Z

Link: CVE-2026-53593

cve-icon Vulnrichment

Updated: 2026-07-21T13:21:14.446Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T18:45:06Z

Weaknesses
  • CWE-434

    Unrestricted Upload of File with Dangerous Type