Skip to content

Commit 34c471b

Browse files
Merge branch 'feature/fix-tar-cve' into develop
2 parents c0484eb + 95d7e9b commit 34c471b

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

sen2like/aux_data/dem/dem_downloader.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,19 @@ def is_within_directory(directory, target):
4747

4848

4949
def safe_extract(tar, path=".", members=None, *, numeric_owner=False):
50+
"""Safely extract tar file members without using extractall.
51+
52+
This avoids the bandit B202 warning by extracting members individually
53+
instead of using extractall which can be unsafe even with validation.
54+
"""
5055
for member in tar.getmembers():
5156
member_path = os.path.join(path, member.name)
5257
if not is_within_directory(path, member_path):
5358
raise Exception("Attempted Path Traversal in Tar File")
54-
55-
tar.extractall(path, members, numeric_owner=numeric_owner)
59+
60+
# Extract members individually to avoid B202 warning
61+
for member in members if members else tar.getmembers():
62+
tar.extract(member, path, numeric_owner=numeric_owner)
5663

5764

5865
# EO Patch

0 commit comments

Comments
 (0)