# CVE-2026-95273: dgtlmoon changedetection.io path traversal in visual_selector_data

Source: https://junglewise.ai/threats/cve-2026-95273-a-vulnerability-was-determined-in-dgtlmoon-changedetection-io-up  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-09-22. Updated: 2026-09-26  
License: CC BY 4.0 with a link back

CVE-2026-95273 · Severity: medium · CVSS 4.3 · Published 2026-09-22

changedetection.io is a web monitoring tool that tracks changes to websites. A path traversal vulnerability in its visual selector feature allows an attacker to read arbitrary files from the server by manipulating a filename parameter, potentially exposing sensitive watch data and configuration files.

Technologies: [Dgtlmoon Changedetection.Io](https://junglewise.ai/threats/technologies/dgtlmoon-changedetection-io). Vendors: [Dgtlmoon](https://junglewise.ai/threats/vendors/dgtlmoon).

## Quick answers

**Is CVE-2026-95273 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-95273 being exploited in the wild.

**How severe is CVE-2026-95273?** Medium severity, with a CVSS score of 4.3, published 22 September 2026.

**Which products and versions are affected?** Dgtlmoon Changedetection.Io up to 0.60.7.

**Is there a fix for CVE-2026-95273?** No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.

**How is CVE-2026-95273 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-95273?** Check whether you run Dgtlmoon Changedetection.Io at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The static_content() function in changedetectionio/flask_app.py fails to sanitize the filename route parameter before passing it to os.path.join() to construct a directory path. When group=visual_selector_data, an attacker can inject path traversal sequences (../) to escape the datastore directory and read elements.deflate files from other watches or system directories. The vulnerability violates Werkzeug's send_from_directory contract which explicitly warns the directory parameter must not be client-supplied.

## Affected products

- dgtlmoon changedetection.io up to 0.60.7

## Timeline

- 2026-09-22: disclosed: Publicly disclosed vulnerability
- 2026: other: Vendor contacted early but did not respond

## References

- [https://github.com/herantong/cve/blob/main/changedetection.io_path-traversal-visual-selector_CWE-22](https://github.com/herantong/cve/blob/main/changedetection.io_path-traversal-visual-selector_CWE-22)
- [https://vuldb.com/cve/CVE-2026-95273](https://vuldb.com/cve/CVE-2026-95273)

## Related threats

- [dgtlmoon changedetection.io server-side request forgery in preview endpoint](https://junglewise.ai/threats/cve-2026-95656-a-vulnerability-was-found-in-dgtlmoon-changedetection-io-up-to)
- [dgtlmoon changedetection.io authentication timing attack](https://junglewise.ai/threats/cve-2026-95271-a-vulnerability-has-been-found-in-dgtlmoon-changedetection-io-up)
