CVE-2025-49138 json
HAX CMS vulnerable to Local File Inclusion via saveOutline API Location Parameter
published 2025-06-09 17 mo ago modified 2026-10-18 21 d ago also EUVD-2025-17561 , GHSA-hxrr-x32w-cg8g
- cvss
- 6.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 46%
- public exploits
- 0
- none known
Summary
HAX CMS PHP allows users to manage their microsite universe with a PHP backend. Prior to version 11.0.0, an authenticated Local File Inclusion (LFI) vulnerability in the HAXCMS saveOutline endpoint allows a low-privileged user to read arbitrary files on the server by manipulating the location field written into site.json. This enables attackers to exfiltrate sensitive system files such as /etc/passwd, application secrets, or configuration files accessible to the web server (www-data). The vulnerability stems from the way the HAXCMS backend handles the location field in the site's outline. When a user sends a POST request to /system/api/saveOutline, the backend stores the provided location value directly into the site.json file associated with the site, without validating or sanitizing the input. Later the location parameter is interpreted by the CMS to resolve and load the content for a given node. If the location field contains a relative path like `../../../etc/passwd`, the application will attempt to read and render that file. Version 11.0.0 fixes the issue.
Patch / fix
- packagist elmsln/haxcms 11.0.0
- haxtheweb hax 11.0.0
- haxtheweb haxcms-php 11.0.0
- psu haxcms-php 11.0.0
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 16 mo ago
Exploit prediction
0.55% chance of exploitation in the next 30 days, higher than 46% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/haxtheweb/issues/security/advisories/GHSA-hxrr-x32w-cg8g referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
| GitHub | 3.1 | 6.5 | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | elmsln/haxcms | <11.0.0 |
11.0.0 |
Affected products
- haxtheweb issues
Classification
References
-
github.com
/haxtheweb/issues/security/advisories/GHSA-hxrr-x32w-cg8g
exploit, web, third-party-advisory
-
github.com
/haxtheweb/haxcms-php/blob/b158d8ba1f9602af92ab084fd03b418f953079fd/system/backend/php/lib/HAXCMSSite.php#L124
web, product
-
nvd.nist.gov
/vuln/detail/CVE-2025-49138
advisory
-
github.com
/haxtheweb/issues
package
Sources
- CVE List CVE-2025-49138
- GitHub Advisory GHSA-hxrr-x32w-cg8g
- NVD CVE-2025-49138
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.