Vulnerability Description
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.
CVSS Score
CRITICAL
Affected Products
| Vendor | Product | Versions |
|---|---|---|
| Webtechnologies | Changedetection | < 0.54.8 |
Related Weaknesses (CWE)
References
- https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-jmrh-xmgExploitMitigationVendor Advisory
- https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-jmrh-xmgExploitMitigationVendor Advisory
FAQ
What is CVE-2026-35490?
CVE-2026-35490 is a vulnerability with a CVSS score of 9.8 (CRITICAL). 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. I...
How severe is CVE-2026-35490?
CVE-2026-35490 has been rated CRITICAL with a CVSS base score of 9.8/10. This is considered a critical vulnerability requiring immediate attention.
Is there a patch for CVE-2026-35490?
Check the references section above for vendor advisories and patch information. Affected products include: Webtechnologies Changedetection.