kopia lustrzana https://github.com/dgtlmoon/changedetection.io
CVE-2024-51483 - Fix for limiting access to file:// via source:file:///tmp/file.txt when using webdriver/playwright
rodzic
942625e1fb
commit
26d3a23e05
|
@ -89,6 +89,10 @@ class model(watch_base):
|
|||
|
||||
if ready_url.startswith('source:'):
|
||||
ready_url=ready_url.replace('source:', '')
|
||||
|
||||
# Also double check it after any Jinja2 formatting just incase
|
||||
if not is_safe_url(ready_url):
|
||||
return 'DISABLED'
|
||||
return ready_url
|
||||
|
||||
def clear_watch(self):
|
||||
|
|
|
@ -31,15 +31,15 @@ class difference_detection_processor():
|
|||
|
||||
from requests.structures import CaseInsensitiveDict
|
||||
|
||||
# Protect against file:// access
|
||||
if re.search(r'^file://', self.watch.get('url', '').strip(), re.IGNORECASE):
|
||||
url = self.watch.link
|
||||
|
||||
# Protect against file:// access, check the real "link" without any meta "source:" etc prepended.
|
||||
if re.search(r'^file://', url, re.IGNORECASE):
|
||||
if not strtobool(os.getenv('ALLOW_FILE_URI', 'false')):
|
||||
raise Exception(
|
||||
"file:// type access is denied for security reasons."
|
||||
)
|
||||
|
||||
url = self.watch.link
|
||||
|
||||
# Requests, playwright, other browser via wss:// etc, fetch_extra_something
|
||||
prefer_fetch_backend = self.watch.get('fetch_backend', 'system')
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue