changedetection.io's /settings save handler builds an update dict from form.data['application'] and blind-merges it into the stored application settings via .update(). Because WTForms represents an unchecked checkbox as False rather than 'unchanged', and only the 'password' field is special-cased against this problem, a POST to /settings that omits the api_access_token_enabled field (e.g. a minimal scripted request) silently disables API key enforcement for the entire REST API, exposing the full watch list, history, and configuration to unauthenticated requests.
Metrics
Affected Vendors & Products
References
| Link | Providers |
|---|---|
| https://github.com/dgtlmoon/changedetection.io |
|
History
Wed, 05 Aug 2026 09:00:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Dgtlmoon
Dgtlmoon changedetection.io |
|
| Vendors & Products |
Dgtlmoon
Dgtlmoon changedetection.io |
Wed, 05 Aug 2026 07:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | changedetection.io's /settings save handler builds an update dict from form.data['application'] and blind-merges it into the stored application settings via .update(). Because WTForms represents an unchecked checkbox as False rather than 'unchanged', and only the 'password' field is special-cased against this problem, a POST to /settings that omits the api_access_token_enabled field (e.g. a minimal scripted request) silently disables API key enforcement for the entire REST API, exposing the full watch list, history, and configuration to unauthenticated requests. | |
| Title | changedetection.io: Omitted Checkbox in /settings Save Silently Disables API Key Enforcement | |
| Weaknesses | CWE-284 | |
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: TuranSec
Published: 2026-08-05T06:59:00.078Z
Updated: 2026-08-05T13:16:07.944Z
Reserved: 2026-08-05T06:56:15.799Z
Link: CVE-2026-71204
No data.
No data.
No data.