Every CVE Search/ Get API key

CVE-2024-51998

Path traversal using file URI scheme without supplying hostname in changedetection.io

8.6 HighFix available

changedetection.io is a free open source web page change detection tool. The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined. The check used for URL protocol, is_safe_url, allows file: as a URL scheme. It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes. This issue has been addressed in version 0.47.06 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.69%Up 0.6 points since Nov 8, 2024
90%50%10%1%

What each source reports

CVE List Score used 8.6

Path traversal using file URI scheme without supplying hostname in changedetection.io

changedetection.io is a free open source web page change detection tool. The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined. The check used for URL protocol, is_safe_url, allows file: as a URL scheme. It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes. This issue has been addressed in version 0.47.06 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2024-51998
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
EUVDEUVD-2024-3202 8.6

changedetection.io is a free open source web page change detection tool. The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined. The check used for URL protocol, is_safe_url, allows file: as a URL scheme. It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes. This issue has been addressed in version 0.47.06 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
EUVD-2024-3202
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-03
GitHub AdvisoriesGHSA-6jrf-rcjf-245r 7.7

changedetection.io path traversal using file URI scheme without supplying hostname

Summary

The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined.

Details

The check used for URL protocol, is_safe_url, allows file: as a URL scheme:

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/model/Watch.py#L11-L13

It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes.

A valid file URI must therefore begin with either file:/path (no hostname), file:///path (empty hostname), or file://hostname/path. — Wikipedia

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/processors/__init__.py#L37-L41

PoC

  1. Open up a changedetection.io instance with a webdriver configured
  2. Create a new watch: file:/etc/passwd or a similar path for your operating system. Enable webdriver mode
  3. Wait for it to be checked
  4. Open preview
  5. Notice contents of the file
Record
GHSA-6jrf-rcjf-245r
CVSS 4.0
7.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
NVD 8.6

changedetection.io is a free open source web page change detection tool. The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined. The check used for URL protocol, is_safe_url, allows file: as a URL scheme. It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes. This issue has been addressed in version 0.47.06 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2024-51998
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
OSV 8.6

Path traversal using file URI scheme without supplying hostname in changedetection.io

changedetection.io is a free open source web page change detection tool. The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined. The check used for URL protocol, is_safe_url, allows file: as a URL scheme. It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes. This issue has been addressed in version 0.47.06 and all users are advised to upgrade. There are no known workarounds for this vulnerability.

Record
CVE-2024-51998
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
OSVGHSA-6jrf-rcjf-245r 7.7

changedetection.io path traversal using file URI scheme without supplying hostname

Summary

The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined.

Details

The check used for URL protocol, is_safe_url, allows file: as a URL scheme:

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/model/Watch.py#L11-L13

It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes.

A valid file URI must therefore begin with either file:/path (no hostname), file:///path (empty hostname), or file://hostname/path. — Wikipedia

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/processors/__init__.py#L37-L41

PoC

  1. Open up a changedetection.io instance with a webdriver configured
  2. Create a new watch: file:/etc/passwd or a similar path for your operating system. Enable webdriver mode
  3. Wait for it to be checked
  4. Open preview
  5. Notice contents of the file
Record
GHSA-6jrf-rcjf-245r
CVSS 4.0
7.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Weakness
CWE-22
Updated
2026-11-02
OSVPYSEC-2026-1239 7.7

changedetection.io path traversal using file URI scheme without supplying hostname

Summary

The validation for the file URI scheme falls short, and results in an attacker being able to read any file on the system. This issue only affects instances with a webdriver enabled, and ALLOW_FILE_URI false or not defined.

Details

The check used for URL protocol, is_safe_url, allows file: as a URL scheme:

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/model/Watch.py#L11-L13

It later checks if local files are permitted, but one of the preconditions for the check is that the URL starts with file://. The issue comes with the fact that the file URI scheme is not required to have double slashes.

A valid file URI must therefore begin with either file:/path (no hostname), file:///path (empty hostname), or file://hostname/path. — Wikipedia

https://github.com/dgtlmoon/changedetection.io/blob/e0abf0b50507a8a3d0c1d8522ab23519b3e4cdf4/changedetectionio/processors/__init__.py#L37-L41

PoC

  1. Open up a changedetection.io instance with a webdriver configured
  2. Create a new watch: file:/etc/passwd or a similar path for your operating system. Enable webdriver mode
  3. Wait for it to be checked
  4. Open preview
  5. Notice contents of the file
Record
PYSEC-2026-1239
CVSS 4.0
7.7 HighCVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:N/SA:N
CVSS 3.1
8.6 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
changedetection-io
PyPI
through 0.47.5
0.47.6
changedetection-io
PyPI
before 0.47.6, plus listed versions
0.38.20.390.39.10.39.100.39.10.post1
Show 45 moreShow less
0.39.10.post20.39.110.39.120.39.130.39.13.10.39.140.39.14.10.39.150.39.160.39.170.39.17.10.39.17.20.39.180.39.190.39.19.10.39.20.39.200.39.20.10.39.20.20.39.20.30.39.20.40.39.210.39.21.10.39.220.39.22.10.39.30.39.40.39.50.39.60.39.70.39.80.39.90.40.00.40.0.10.40.0.20.40.0.30.40.0.40.40.1.00.40.1.10.40.20.40.30.410.41.10.420.42.1
0.47.6

History

History
RecordedChangedSources
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2024-51998 is a high vulnerability (CVSS 8.6) in Dgtlmoon Changedetection.io, published November 7, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.69%, the 52nd percentile. Fixed in changedetection-io 0.47.6.

References

Show 4 moreShow less
This page doesn't list everything

Left out here: 47 versions. The JSON record has them.

MoveEnter Open