CRITICAL9.8
PYSEC-2026-28
Quick fix
PYSEC-2026-28 — changedetection-io: upgrade to the fixed version with the command below.
pip install --upgrade 'changedetection-io>=0.54.8'Details
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.
Are you affected?
Enter the version of the package you're using.
Affected packages
PyPI/changedetection-io
Introduced in:
0Fixed in: 0.54.8Fix
pip install --upgrade 'changedetection-io>=0.54.8'