Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-6jrf-rcjf-245r

Опубликовано: 07 нояб. 2024
Источник: github
Github: Прошло ревью
CVSS4: 7.7
CVSS3: 8.6

Описание

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

Пакеты

Наименование

changedetection.io

pip
Затронутые версииВерсия исправления

<= 0.47.5

0.47.6

EPSS

Процентиль: 34%
0.00137
Низкий

7.7 High

CVSS4

8.6 High

CVSS3

Дефекты

CWE-22

Связанные уязвимости

CVSS3: 8.6
nvd
около 1 года назад

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.

EPSS

Процентиль: 34%
0.00137
Низкий

7.7 High

CVSS4

8.6 High

CVSS3

Дефекты

CWE-22