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.
Metrics
Affected Vendors & Products
References
History
Wed, 08 Apr 2026 20:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Dgtlmoon
Dgtlmoon changedetection.io |
|
| Vendors & Products |
Dgtlmoon
Dgtlmoon changedetection.io |
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
|
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-04-07T14:55:24.120Z
Reserved: 2026-04-02T20:49:44.454Z
Link: CVE-2026-35490
No data.
Status : Awaiting Analysis
Published: 2026-04-07T16:16:27.317
Modified: 2026-04-08T21:27:00.663
Link: CVE-2026-35490
No data.
OpenCVE Enrichment
Updated: 2026-04-08T19:48:34Z