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.

Project Subscriptions

No data.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-jmrh-xmgh-x9j4 changedetection.io Vulnerable to Authentication Bypass via Decorator Ordering
Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Tue, 07 Apr 2026 18:00:00 +0000

Type Values Removed Values Added
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.
Title changedetection.io has an Authentication Bypass via Decorator Ordering
Weaknesses CWE-863
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Projects

Sign in to view the affected projects.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-07T14:55:24.120Z

Reserved: 2026-04-02T20:49:44.454Z

Link: CVE-2026-35490

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-04-07T16:16:27.317

Modified: 2026-04-07T16:16:27.317

Link: CVE-2026-35490

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.

Weaknesses