PYSEC-2026-1240
changedetection.io Path Traversal
Quick fix
PYSEC-2026-1240 — changedetection-io: upgrade to the fixed version with the command below.
pip install --upgrade 'changedetection-io>=0.47.5'Details
### Summary When a WebDriver is used to fetch files source:file:///etc/passwd can be used to retrieve local system files, where the more traditional file:///etc/passwd gets blocked
### Details The root cause is the payload source:file:///etc/passwdpasses the regex [here](https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/model/Watch.py#L19) and also passes the check [here](https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/processors/__init__.py#L35) where a traditional file:///etc/passwd would get blocked
### PoC [CL-ChangeDetection.io Path Travsersal-311024-181039.pdf](https://github.com/user-attachments/files/17591630/CL-ChangeDetection.io.Path.Travsersal-311024-181039.pdf)
### Impact It depends on where the webdriver is deployed but generally this is a high impact vulnerability
Are you affected?
Enter the version of the package you're using.
Affected packages
0Fixed in: 0.47.5pip install --upgrade 'changedetection-io>=0.47.5'References
- https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-cwgg-57xj-g77r[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2024-51483[ADVISORY]
- https://github.com/dgtlmoon/changedetection.io[PACKAGE]
- https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/model/Watch.py#L19[WEB]
- https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/processors/__init__.py#L35[WEB]
- https://github.com/user-attachments/files/17591630/CL-ChangeDetection.io.Path.Travsersal-311024-181039.pdf[WEB]
- https://pypi.org/project/changedetection-io[PACKAGE]
- https://github.com/advisories/GHSA-cwgg-57xj-g77r[ADVISORY]