{"id":"CVE-2024-34061","aliases":["GHSA-pwgc-w4x9-gw67","PYSEC-2026-1243"],"title":"changedetection.io Cross-site Scripting vulnerability","summary":"changedetection.io Cross-site Scripting vulnerability","severity":"medium","cvss":4.3,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","vendor":"changedetection-io","product":"changedetection-io","ecosystem":"pip","affected":["changedetection-io < 0.45.22"],"patched":["changedetection-io 0.45.22"],"published":"2024-05-03","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:49:18.754889068Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-pwgc-w4x9-gw67","references":[{"url":"https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-pwgc-w4x9-gw67"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-34061"},{"url":"https://github.com/dgtlmoon/changedetection.io/commit/c0f000b1d1ce03733460805dbbedde445fe2c762"},{"url":"https://github.com/dgtlmoon/changedetection.io"},{"url":"https://github.com/dgtlmoon/changedetection.io/blob/0.45.21/changedetectionio/forms.py#L226"}],"tags":["osv","pip","exploit-available"],"epss":0.01281,"epssPercentile":0.68784,"exploits":{"nuclei":["CVE-2024-34061"],"checkedAt":"2026-09-24T07:52:51.436Z"},"exploitAvailable":true,"ingestedAt":"2026-07-08T18:25:52.029Z","slug":"CVE-2024-34061","body":"## Overview\n\n### Summary\n\nInput in parameter notification_urls is not processed resulting in javascript execution in the application\n\n### Details\nchangedetection.io version: v0.45.21\n\nhttps://github.com/dgtlmoon/changedetection.io/blob/0.45.21/changedetectionio/forms.py#L226\n\n```\n        for server_url in field.data:\n            if not apobj.add(server_url):\n                message = field.gettext('\\'%s\\' is not a valid AppRise URL.' % (server_url))\n                raise ValidationError(message)\n```\n\n### PoC\n\nSetting > ADD Notification URL List\n\n![image](https://github.com/dgtlmoon/changedetection.io/assets/65381453/626eb43b-a414-4b05-92d8-c7345c2a2e75)\n\n\n```\n\"><img src=x onerror=alert(document.domain)>\n```\n![image](https://github.com/dgtlmoon/changedetection.io/assets/65381453/476bd396-2aa2-4642-9c54-fd2c2ef9de79)\n\nRequests\n\n![image](https://github.com/dgtlmoon/changedetection.io/assets/65381453/1f258ef1-149a-4a03-88ab-a2244a69652e)\n\n\n### Impact\nA reflected XSS vulnerability happens when the user input from a URL or POST data is reflected on the page without being stored, thus allowing the attacker to inject malicious content\n\n\n## Affected packages\n\n- `changedetection-io < 0.45.22`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `changedetection-io 0.45.22`","depth":"twilight","depthScore":36,"depthScoreParts":{"impact":23.7,"likelihood":0.3,"exploitation":12,"ransomware":0},"changes":[{"seq":4714,"id":"CVE-2024-34061","ts":1788887202058,"field":"exploit_available","old":"false","new":"true"},{"seq":3597,"id":"CVE-2024-34061","ts":1788886317861,"field":"exploit_available","old":"true","new":"false"},{"seq":2451,"id":"CVE-2024-34061","ts":1788882986514,"field":"exploit_available","old":"false","new":"true"},{"seq":1480,"id":"CVE-2024-34061","ts":1788882399906,"field":"exploit_available","old":"true","new":"false"},{"seq":594,"id":"CVE-2024-34061","ts":1788881836721,"field":"exploit_available","old":"false","new":"true"}]}