Skip to content
Heist/ feed
Back to feed
Medium

HAX CMS vulnerable to Local File Inclusion via saveOutline API Location Parameter

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-49138
Confirmed fixed CVEs
Not specified
Updated in this feed
5 Nov 2026, 01:33 UTC · Revision 1

Source evidence

HAX CMS vulnerable to Local File Inclusion via saveOutline API Location Parameter

core-osv · Original source

Published 9 Jun 2025, 21:05 UTC

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.

osv:CVE-2025-49138
Complete source record
{
  "id": "f1ebfbe0eef49813f07b892ccda19db269f3f1f2c2859428a14e03dd32bc521e",
  "url": "https://osv.dev/vulnerability/CVE-2025-49138",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "HAX CMS vulnerable to Local File Inclusion via saveOutline API Location Parameter",
    "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.",
    "evidence": "osv:CVE-2025-49138",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-49138",
      "aliases": [
        "CVE-2025-49138",
        "GHSA-hxrr-x32w-cg8g"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/haxtheweb/haxcms-php",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "557c8ca02fe349c8e590d83e7310b34832ff3e38"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "11.0.0"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "cpe": "cpe:2.3:a:psu:haxcms-php:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "11.0.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v10.0.3",
            "10.0.3",
            "10.0.0",
            "9.0.21",
            "v9.0.6",
            "v9.0.5",
            "v9.0.3",
            "v9.0.2",
            "v9.0.1",
            "v9.0.0",
            "8.0.0",
            "7.0.16",
            "7.0.15",
            "7.0.14",
            "7.0.13",
            "7.0.10",
            "7.0.3",
            "7.0.2",
            "7.0.1",
            "6.0.1",
            "5.1.0",
            "4.1.0",
            "4.0.0",
            "3.0.0",
            "2.0.9",
            "2.0.8",
            "2.0.7",
            "2.0.6",
            "2.0.5",
            "2.0.4",
            "2.0.3",
            "2.0.2",
            "2.0.1",
            "2.0.0",
            "1.4.0",
            "1.3.1",
            "1.3.0",
            "1.2.13",
            "1.2.12",
            "1.2.11",
            "1.2.10",
            "1.2.9",
            "1.2.8",
            "1.2.7",
            "1.2.6",
            "1.2.5",
            "1.2.4",
            "1.2.3",
            "1.2.2",
            "1.2.1",
            "1.2.0",
            "1.1.3",
            "1.1.2",
            "1.1.1",
            "1.1.0",
            "1.0.0",
            "0.12.3",
            "0.12.2",
            "0.12.1",
            "0.12.0",
            "0.11.0",
            "0.9.0",
            "0.8.2",
            "0.8.1",
            "0.8.0",
            "0.7.0",
            "0.6.0",
            "0.5.0",
            "0.4.0",
            "0.3.0",
            "0.2.0",
            "0.1.0",
            "0.0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-49138.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:41.224256555Z",
      "provider": "osv",
      "references": [
        "https://github.com/haxtheweb/haxcms-php/blob/b158d8ba1f9602af92ab084fd03b418f953079fd/system/backend/php/lib/HAXCMSSite.php#L1248",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49138.json",
        "https://github.com/haxtheweb/issues/security/advisories/GHSA-hxrr-x32w-cg8g",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-49138"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-22",
          "CWE-73"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49138.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-49138",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 509124,
  "published_at": "2025-06-09T21:05:23.245+00:00"
}