Read the docs
TI-2026-27619 Aliases CVE-2026-35490GHSA-jmrh-xmgh-x9j4

changedetection.io has an Authentication Bypass via Decorator Ordering

Priority HIGH 82CWE-863Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Security bypass
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-863.

Summary

changedetection.io is a free open source web page change detection tool. Prior to 0.54.8, the @login_optionally_required decorator is placed before (outer to) @blueprint.route() instead of after it. In Flask, @route() must be the outermost decorator because it registers the function it receives. When the order is reversed, @route() registers the original undecorated function, and the auth wrapper is never in the call chain. This silently disables authentication on these routes. This vulnerability is fixed in 0.54.8.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00545 45th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed changedetection.io (dgtlmoon): 0.54.8changedetection.io (PyPI): 0.54.8

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
dgtlmoonchangedetection.iobefore 0.54.80.54.8Patch availableCNA
—changedetection.io (PyPI)before 0.54.80.54.8Patch availableGHSA-jmrh-xmgh-x9j4
  • changedetection.io Vendordgtlmoon Affected before 0.54.8 Fixed in 0.54.8 Patch available CNA
  • changedetection.io (PyPI) Vendor— Affected before 0.54.8 Fixed in 0.54.8 Patch available GHSA-jmrh-xmgh-x9j4

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:webtechnologies:changedetection:*:*:*:*:*:*:*:*before 0.54.8Vulnerabledgtlmoon
  • cpe:2.3:a:webtechnologies:changedetection:*:*:*:*:*:*:*:* Versions before 0.54.8 Vulnerable ·dgtlmoon

Remediation

  • Fix · CNA changedetection.io (dgtlmoon) Fixed in 0.54.8
  • Fix · GHSA-jmrh-xmgh-x9j4 changedetection.io (PyPI) Fixed in 0.54.8 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-35490
  2. 2026-10-03 Alias added: GHSA-jmrh-xmgh-x9j4
  3. 2026-10-21 EPSS moved to the 50th–90th percentile
  4. 2026-10-25 EPSS moved to the below the 50th percentile

References

  • TI-2026-23210 changedetection.io: Zip Slip vulnerability in the backup restore functionality CVSS 4.0HIGH 8.8
  • TI-2026-22073 changedetection.io Vulnerable to Server-Side Request Forgery (SSRF) via Watch URLs CVSS 3.1HIGH 8.6
  • TI-2026-26322 Changedetection.io Discloses Environment Variables via jq env Builtin in Include Filters CVSS 4.0HIGH 8.3
  • TI-2026-23185 changedetection.io: XPath - Arbitrary File Read via unparsed-text() CVSS 4.0HIGH 8.8
  • TI-2026-31955 changedetection.io: Arbitrary Local File Read via crafted backup restore CVSS 3.1HIGH 7.5
  • TI-2026-23184 changedetection.io: Reflected XSS in RSS Tag Error Response CVSS 3.1MEDIUM 6.1
See all 12 →

Sources