CVE-2025-62780 json
changedetection.io vulnerable to stored XSS in Watch update via API
published 2025-11-10 11 mo ago modified 2026-06-17 4 mo ago also EUVD-2025-50820 , GHSA-4c3j-3h7v-22q9 , PYSEC-2025-91
- cvss
- 3.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 40%
- public exploits
- 0
- none known, plus a Nuclei check
Summary
changedetection.io is a free open source web page change detection tool. A Stored Cross Site Scripting is present in changedetection.io Watch update API in versions prior to 0.50.34 due to insufficient security checks. Two scenarios are possible. In the first, an attacker can insert a new watch with an arbitrary URL which really points to a web page. Once the HTML content is retrieved, the attacker updates the URL with a JavaScript payload. In the second, an attacker substitutes the URL in an existing watch with a new URL that is in reality a JavaScript payload. When the user clicks on *Preview* and then on the malicious link, the JavaScript malicious code is executed. Version 0.50.34 fixes the issue.
Patch / fix
- pypi changedetection-io 0.50.34
- changedetection changedetection 0.50.34
- webtechnologies changedetection 0.50.34
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 11 mo ago
Exploit prediction
0.46% chance of exploitation in the next 30 days, higher than 40% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- Nuclei template ChangeDetection.io <= v0.50.33 - Stored XSS via Watch API nuclei detection template
- github.com https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-4c3j-3h7v-22q9 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.5 | CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N |
| GitHub | 3.1 | 3.5 | CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:L/A:N |
| NVD | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| OSV | 3.1 | 5.4 | CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | changedetection-io | <0.50.34 |
0.50.34 |
Affected products
- dgtlmoon changedetection.io
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/dgtlmoon/changedetection.io/pull/3564
web
-
github.com
/dgtlmoon/changedetection.io/security/advisories/GHSA-4c3j-3h7v-22q9
exploit, web, vendor-advisory, evidence
-
nvd.nist.gov
/vuln/detail/CVE-2025-62780
advisory
-
github.com
/dgtlmoon/changedetection.io/issues/3562
web
-
github.com
/dgtlmoon/changedetection.io
package
-
github.com
/dgtlmoon/changedetection.io/releases/tag/0.50.34
web
-
github.com
/pypa/advisory-database/tree/main/vulns/changedetection-io/PYSEC-2025-91.yaml
web
Sources
- CVE List CVE-2025-62780
- GitHub Advisory GHSA-4c3j-3h7v-22q9
- NVD CVE-2025-62780
- OSV PYSEC-2025-91
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.