We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e9c4067 commit 2f2d515Copy full SHA for 2f2d515
pyrogram/methods/messages/download_media.py
@@ -150,6 +150,17 @@ async def progress(current, total):
150
directory, file_name=os.path.split(file_name)
151
file_name=file_nameormedia_file_nameor""
152
153
+# Sanitize file name
154
+# CWE-22: Path Traversal
155
+iffile_name:
156
+# Remove any path components, keeping only the basename
157
+file_name=os.path.basename(file_name)
158
+# Remove null bytes which could cause issues
159
+file_name=file_name.replace('\x00', '')
160
+# Handle edge cases
161
+ifnotfile_nameorfile_namein ('.', '..'):
162
+file_name=""
163
+
164
ifnotos.path.isabs(file_name):
165
directory=self.PARENT_DIR/ (directoryorDEFAULT_DOWNLOAD_DIR)
166
0 commit comments