Skip to content

Commit 4372a76

Browse files
authored
Fix sql injection for Neural Solution gRPC (#1879)
Signed-off-by: Kaihui-intel <kaihui.tang@intel.com>
1 parent 4ae2e87 commit 4372a76

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

neural_solution/frontend/utility.py

+19-12
Original file line numberDiff line numberDiff line change
@@ -140,30 +140,37 @@ def submit_task_to_db(task, task_submitter, db_path):
140140
status = "failed"
141141
task_id = "-1"
142142
result = {"status": status, "task_id": task_id, "msg": msg}
143+
if not is_valid_task(task.__dict__):
144+
return result
143145
if os.path.isfile(db_path):
144146
conn = sqlite3.connect(db_path)
145147
cursor = conn.cursor()
146148
task_id = str(uuid.uuid4()).replace("-", "")
147149
sql = (
148-
r"insert into task(id, script_url, optimized, arguments, approach, requirements, workers, status)"
149-
+ r" values ('{}', '{}', {}, '{}', '{}', '{}', {}, 'pending')".format(
150-
task_id,
151-
task.script_url,
152-
task.optimized,
153-
list_to_string(task.arguments),
154-
task.approach,
155-
list_to_string(task.requirements),
156-
task.workers,
157-
)
150+
"INSERT INTO task "
151+
"(id, script_url, optimized, arguments, approach, requirements, workers, status) "
152+
"VALUES (?, ?, ?, ?, ?, ?, ?, 'pending')"
158153
)
159-
cursor.execute(sql)
154+
155+
task_params = (
156+
task_id,
157+
task.script_url,
158+
task.optimized,
159+
list_to_string(task.arguments),
160+
task.approach,
161+
list_to_string(task.requirements),
162+
task.workers,
163+
)
164+
165+
conn.execute(sql, task_params)
160166
conn.commit()
161167
try:
162168
task_submitter.submit_task(task_id)
163169
except ConnectionRefusedError:
164170
msg = "Task Submitted fail! Make sure neural solution runner is running!"
165171
except Exception as e:
166-
msg = "Task Submitted fail! {}".format(e)
172+
msg = "Task Submitted fail!"
173+
print(f"{msg} {e}")
167174
conn.close()
168175
status = "successfully"
169176
msg = "Task submitted successfully"

0 commit comments

Comments
 (0)