Skip to content

Commit 4e45fc9

Browse files
committed
[FIX] Filename secure escape
1 parent 4845709 commit 4e45fc9

2 files changed

Lines changed: 9 additions & 5 deletions

File tree

iris_evtx/IrisEVTXInterface.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020

2121
import traceback
2222
from pathlib import Path
23-
from celery import chain, current_app
23+
from werkzeug.utils import secure_filename
2424

25-
from iris_interface.IrisModuleInterface import IrisPipelineTypes, IrisModuleInterface, IrisModuleTypes
2625
import iris_interface.IrisInterfaceStatus as InterfaceStatus
27-
from iris_evtx.EVTXImportDispatcher import ImportDispatcher
26+
from iris_interface.IrisModuleInterface import IrisPipelineTypes, IrisModuleInterface, IrisModuleTypes
27+
2828
import iris_evtx.IrisEVTXModConfig as interface_conf
29+
from iris_evtx.EVTXImportDispatcher import ImportDispatcher
2930

3031

3132
class IrisEVTXInterface(IrisModuleInterface):
@@ -68,7 +69,9 @@ def pipeline_files_upload(self, base_path, file_handle, case_customer, case_name
6869
"""
6970

7071
if base_path and Path(base_path).is_dir:
71-
file_handle.save(Path(base_path, file_handle.filename))
72+
# Sanitize the filename
73+
file_name = secure_filename(file_handle.filename)
74+
file_handle.save(Path(base_path, file_name))
7275
return InterfaceStatus.I2Success("Successfully saved file {} to {}".format(file_handle.filename, base_path))
7376

7477
else:

requirements.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ setuptools~=46.1.3
22
celery~=4.4.7
33
pyunpack~=0.2.2
44
evtx2splunk~=2.0.1
5-
iris_interface==1.2.0
5+
iris_interface==1.2.0
6+
werkzeug

0 commit comments

Comments
 (0)