Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed changedetection.io login
-
DeliverySend many timed auth probes
-
ExploitMeasure response-time deltas
-
ExecutionStatistically recover password
-
ImpactAuthenticate to dashboard
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a network-reachable changedetection.io instance (<=0.60.7) that has password authentication enabled - the check_authentication hook must be active for the timing side-channel to be meaningful. Exploitation is unauthenticated but is practically LIMITED by the timing-attack nature: the attacker must send a large volume of requests and perform statistical analysis of response-time discrepancies, and success is significantly degraded by network latency and jitter, making it far harder than the CVSS AC:L implies. Impact is confined to recovering the single application password and gaining access to the monitoring dashboard; no OS-level or scope-crossing compromise. |
| Impact | Signals are modest and internally consistent toward LOW-MODERATE real-world priority. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) implies trivial remote unauthenticated exploitation, but this conflicts with the actual mechanism: the public exploit (herantong/cve) is a TIMING ATTACK (CWE-208 observable timing discrepancy), not a one-shot bypass. Practical remote timing attacks require thousands of statistical requests and are heavily degraded by network jitter, so real-world attack complexity is materially higher than the vendor's AC:L suggests - treat the AC:L as optimistic. Impact is bounded: all three impact metrics are Low (VC:L/VI:L/VA:L), reflecting that success only recovers the single app password and grants access to a self-hosted monitoring dashboard, with no system-level compromise or scope change (SC:N/SI:N/SA:N). SSVC exploitation maturity is Proof-of-Concept (E:P) - a POC exists but there is NO CISA KEV listing and NO EPSS score in the input, so there is no evidence of active or widespread exploitation. The scoring source is VulDB (which tends to rate generously) with no NVD or vendor corroboration, and the vendor did not respond. Net: a genuine but low-severity weakness whose exploitability is likely OVERSTATED by AC:L; prioritize as routine patch-when-available, not emergency. |
| Exploit ScenarioDerived | A remote unauthenticated attacker who can reach an internet-exposed changedetection.io instance with password protection enabled repeatedly submits authentication requests and measures server response times, exploiting the non-constant-time comparison in check_authentication to recover the password character-by-character. A public proof-of-concept documenting the timing-attack methodology exists (herantong/cve, labeled CWE-208), though network latency and jitter make real-world exploitation slow and statistically noisy. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
changedetection.io through 0.60.7 contains a timing side-channel in the check_authentication function of its Flask authentication hook, allowing unauthenticated remote attackers to potentially recover the application password by analyzing response-time differences. Exploitation is practically limited: it requires sending many requests and performing statistical analysis, and success is degraded by network latency, making it a low-to-moderate priority; a public proof-of-concept exploit exists, and the vendor did not respond to the disclosure.
RemediationAI
No vendor-released patch identified at time of analysis; the maintainer did not respond to the disclosure, so no fixed version is available. The most effective compensating control is to restrict network access to the changedetection.io instance using firewall rules, a VPN, or a reverse proxy with IP allowlisting-this eliminates remote timing attacks but reduces accessibility for legitimate users. Rate-limiting authentication requests at a reverse proxy (e.g., nginx limit_req) can make statistical timing analysis impractical, though aggressive limits risk denying legitimate logins. Enforce a strong, unique application password to increase the effort required for a successful timing attack; this does not fix the leak but raises the attack cost. Monitor access logs for high volumes of authentication attempts as an indicator of exploitation attempts. Do not disable password authentication as a mitigation, as that would leave the dashboard unprotected if the instance is exposed; similarly, simply changing the password does not address the timing leak. Until a patched version beyond 0.60.7 is released and confirmed, network restriction remains the primary defense. Refer to the VulDB entry (https://vuldb.com/vuln/408339) and the public PoC for further details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
changedetection.io is a Python/Flask web application used for monitoring website changes, and versions up to 0.60.7 implement authentication via the check_authentication function in changedetectionio/flask_app.py. The flaw is a non-constant-time comparison of the supplied password against the stored password, which introduces an observable timing discrepancy (CWE-208) that can be exploited to infer the password character by character, resulting in improper authentication (CWE-287). The attack is unauthenticated (CVSS PR:N) and network-based, but the independent assessment rates it as high complexity (AC:H) because it requires a large number of requests and statistical analysis, with success heavily dependent on stable, low-latency network conditions; the vendor's CVSS 4.0 score of 6.9 reflects a lower-complexity view, but practical exploitation is limited to recovering the single application password and gaining dashboard access, with no OS-level or scope-crossing compromise. The attack surface requires that password authentication be enabled on the instance.
Know when Changedetection Io gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P
Remote and unauthenticated (AV:N/PR:N) but a statistical network timing attack is unreliable (AC:H); success only recovers one app password, yielding bounded C:L/I:L and no availability impact.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
2DescriptionCVE.org
A vulnerability has been found in dgtlmoon changedetection.io up to 0.60.7. The impacted element is the function check_authentication of the file changedetectionio/flask_app.py of the component Authentication Hook. Such manipulation leads to improper authentication. The attack may be performed from remote. The exploit has been disclosed to the public and may be used. The vendor was contacted early about this disclosure but did not respond in any way.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Changedetection Io
View allUnauthenticated attackers can coerce changedetection.io through 0.60.6 into fetching arbitrary internal network addresse
Server-side request forgery in changedetection.io's Add Watch preview endpoint (/add_watch_ui/snapshot) allows remote at
Arbitrary local file disclosure in ChangeDetection.io versions before 0.54.7 allows authenticated attackers to read sens
Path traversal in changedetection.io 0.60.7 and earlier allows remote attackers to read limited files outside the intend
A timing side-channel in the password comparison routine (check_password in changedetectionio/flask_app.py) of dgtlmoon
Unrestricted brute-force against changedetection.io's /login endpoint allows a remote unauthenticated attacker to system
HTML markup injection in changedetection.io through 0.60.6 allows an attacker who controls the <title> of a page being m
Authentication bypass in changedetection.io's /settings endpoint silently disables REST API key enforcement when a privi
Path traversal in changedetection.io 0.60.7 and earlier lets an authenticated low-privilege user read files outside the
Stored cross-site scripting in changedetection.io up to and including 0.55.8 lets a malicious or compromised monitored w
Unauthenticated retrieval of the full OpenAPI schema is possible in changedetection.io because the /api/v1/full-spec end
EUVD-2026-84363
GHSA-3xg4-jrjp-f8g4
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB