Skip to content
Heist/ feed
Back to feed
High

changedetection.io: XPath - Arbitrary File Read via unparsed-text()

Type: advisorySources: OSV

changedetection.io is a free open source web page change detection tool. Prior to version 0.54.4, the changedetection.io application allows users to specify XPath expressions as content filters via the include_filters field. These XPath expressions are processed using the elementpath library which implements XPath 3.0/3.1 specification. XPath 3.0 includes the unparsed-text() function which can read arbitrary files from the filesystem. The application does not validate or sanitize XPath expressions to block dangerous functions, allowing an attacker to read any file accessible to the application process. This issue has been patched in version 0.54.4.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-29039
Confirmed fixed CVEs
Not specified
Updated in this feed
2 Nov 2026, 23:28 UTC · Revision 1

Source evidence

changedetection.io: XPath - Arbitrary File Read via unparsed-text()

core-osv · Original source

Published 6 Mar 2026, 06:54 UTC

changedetection.io is a free open source web page change detection tool. Prior to version 0.54.4, the changedetection.io application allows users to specify XPath expressions as content filters via the include_filters field. These XPath expressions are processed using the elementpath library which implements XPath 3.0/3.1 specification. XPath 3.0 includes the unparsed-text() function which can read arbitrary files from the filesystem. The application does not validate or sanitize XPath expressions to block dangerous functions, allowing an attacker to read any file accessible to the application process. This issue has been patched in version 0.54.4.

osv:CVE-2026-29039
Complete source record
{
  "id": "14422a731b315c2032d9e96c33d45a67a211cd68bfa44af26ca8d02694c04b57",
  "url": "https://osv.dev/vulnerability/CVE-2026-29039",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "changedetection.io: XPath - Arbitrary File Read via unparsed-text()",
    "summary": "changedetection.io is a free open source web page change detection tool. Prior to version 0.54.4, the changedetection.io application allows users to specify XPath expressions as content filters via the include_filters field. These XPath expressions are processed using the elementpath library which implements XPath 3.0/3.1 specification. XPath 3.0 includes the unparsed-text() function which can read arbitrary files from the filesystem. The application does not validate or sanitize XPath expressions to block dangerous functions, allowing an attacker to read any file accessible to the application process. This issue has been patched in version 0.54.4.",
    "evidence": "osv:CVE-2026-29039",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2026-29039",
      "aliases": [
        "CVE-2026-29039",
        "GHSA-6fmw-82m7-jq6p",
        "PYSEC-2026-2128"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:P"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dgtlmoon/changedetection.io",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "1e12ae404fc7b609de00f3b4e97cc6402c60fc71"
                },
                {
                  "fixed": "417d57e5749441e4be9acc4010369bded805d66f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:webtechnologies:changedetection:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.54.4"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "417d57e5749441e4be9acc4010369bded805d66f"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "1e12ae404fc7b609de00f3b4e97cc6402c60fc71"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "0.54.4"
                  }
                ]
              }
            }
          ],
          "versions": [
            "0.54.3",
            "0.54.2",
            "0.54.1",
            "0.53.7",
            "0.53.6",
            "0.53.5",
            "0.53.4",
            "0.53.3",
            "0.53.2",
            "0.53.1",
            "0.52.9",
            "0.52.8",
            "0.52.7",
            "0.52.5",
            "0.52.4",
            "0.52.3",
            "0.52.2",
            "0.52.1",
            "0.51.4",
            "0.51.3",
            "0.51.2",
            "0.51.1",
            "0.51.01",
            "0.51.00",
            "0.50.43",
            "0.50.42",
            "0.50.41",
            "0.50.40",
            "0.50.39",
            "0.50.38",
            "0.50.37",
            "0.50.35",
            "0.50.34",
            "0.50.33",
            "0.50.32",
            "0.50.31",
            "0.50.30",
            "0.50.29",
            "0.50.28",
            "0.50.27",
            "0.50.26",
            "0.50.25",
            "0.50.24",
            "0.50.23",
            "0.50.22",
            "0.50.21",
            "0.50.20",
            "0.50.19",
            "0.50.18",
            "0.50.17",
            "0.50.16",
            "0.50.15",
            "0.50.14",
            "0.50.13",
            "0.50.12",
            "0.50.11",
            "0.50.10",
            "0.50.9",
            "0.50.8",
            "0.50.7",
            "0.50.6",
            "0.50.5",
            "0.50.4",
            "0.50.3",
            "0.50.2",
            "0.50.1",
            "0.50.01",
            "0.49.18",
            "0.49.17",
            "0.49.16",
            "0.49.15",
            "0.49.14",
            "0.49.13",
            "0.49.12",
            "0.49.11",
            "0.49.10",
            "0.49.9",
            "0.49.8",
            "0.49.7",
            "0.49.6",
            "0.49.5",
            "0.49.4",
            "0.49.3",
            "0.49.2",
            "0.49.1",
            "0.49.0",
            "0.48.06",
            "0.48.05",
            "0.48.04",
            "0.48.03",
            "0.48.01",
            "0.48.00",
            "0.47.06",
            "0.47.05",
            "0.47.04",
            "0.47.03",
            "0.47.01",
            "0.47.00",
            "0.46.04",
            "0.46.03",
            "0.46.02",
            "0.46.01",
            "0.46.00",
            "0.45.26",
            "0.45.25",
            "0.45.24",
            "0.45.23",
            "0.45.22",
            "0.45.21",
            "0.45.20",
            "0.45.19",
            "0.45.18",
            "0.45.17",
            "0.45.16",
            "0.45.15",
            "0.45.14",
            "0.45.13",
            "0.45.12",
            "0.45.10",
            "0.45.9",
            "0.45.8.1",
            "0.45.8",
            "0.45.7.3",
            "0.45.7.2",
            "0.45.7.1",
            "0.45.7",
            "0.45.6",
            "0.45.5",
            "0.45.4",
            "0.45.3",
            "0.45.2",
            "0.45.1",
            "0.45",
            "0.44.2",
            "0.44.1",
            "0.44",
            "0.43.2",
            "0.43.1",
            "0.43",
            "0.42.3",
            "0.42.2",
            "0.42.1",
            "0.42",
            "0.41.1",
            "0.41",
            "0.40.3",
            "0.40.2",
            "0.40.1.1",
            "0.40.1.0",
            "0.40.0.4",
            "0.40.0.3",
            "0.40.0.2",
            "0.40.0",
            "0.39.22.1",
            "0.39.22",
            "0.39.21.1",
            "0.39.21",
            "0.39.20.4",
            "0.39.20.3",
            "0.39.20.2",
            "0.39.20.1",
            "0.39.20",
            "0.39.19.1",
            "0.39.19",
            "0.39.18",
            "0.39.17.2",
            "0.39.17.1",
            "0.39.17",
            "0.39.16",
            "0.39.15",
            "0.39.14",
            "0.39.13.1",
            "0.39.13",
            "0.39.12",
            "0.39.11",
            "0.39.10",
            "0.39.9",
            "0.39.8",
            "0.39.7",
            "0.39.6",
            "0.39.5",
            "0.39.4",
            "0.39.3",
            "0.39.2",
            "0.39.1",
            "0.39",
            "0.38.2",
            "0.38.1",
            "0.38",
            "0.37",
            "0.35",
            "0.34",
            "0.33",
            "0.32",
            "0.31",
            "0.30",
            "0.29",
            "0.28",
            "0.27",
            "0.26",
            "0.25",
            "0.24",
            "0.23",
            "0.22",
            "0.21",
            "0.2",
            "0.12",
            "0.11",
            "0.1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-29039.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.330091753Z",
      "provider": "osv",
      "references": [
        "https://github.com/dgtlmoon/changedetection.io/releases/tag/0.54.4",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/29xxx/CVE-2026-29039.json",
        "https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-6fmw-82m7-jq6p",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-29039",
        "https://github.com/dgtlmoon/changedetection.io/commit/417d57e5749441e4be9acc4010369bded805d66f"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-94"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/29xxx/CVE-2026-29039.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-29039",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 490883,
  "published_at": "2026-03-06T06:54:15.822+00:00"
}