FreeScout Vulnerable to Authenticated Remote Code Execution via incomplete upload extension denylist (.pht) — bypass of CVE-2025-48471
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 ` 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.
Affected products
1Patches
Vulnerability mechanics
References
1- github.com/freescout-help-desk/freescout/security/advisories/GHSA-27vp-fpg8-j8wvmitrex_refsource_CONFIRM
News mentions
0No linked articles in our index yet.