From dff6421dec6bcc007cdf1cdc6d31fffd4dbe1165 Mon Sep 17 00:00:00 2001 From: Quentin Kaiser Date: Tue, 9 Dec 2025 15:06:46 +0100 Subject: [PATCH] fix: ensure extracted directories stay writable --- python/unblob/file_utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/python/unblob/file_utils.py b/python/unblob/file_utils.py index ac1665d8fd..a79c629dd8 100644 --- a/python/unblob/file_utils.py +++ b/python/unblob/file_utils.py @@ -546,7 +546,10 @@ def mkdir(self, path: Path, *, mode=0o777, parents=False, exist_ok=False): logger.debug("creating directory", dir_path=path, _verbosity=3) safe_path = self._get_extraction_path(path, "mkdir") - safe_path.mkdir(mode=mode, parents=parents, exist_ok=exist_ok) + # Directories with restrictive permission bits (e.g. 0o000) immediately + # block creation of nested entries, so force owner rwx during extraction. + safe_mode = mode | 0o700 + safe_path.mkdir(mode=safe_mode, parents=parents, exist_ok=exist_ok) def mkfifo(self, path: Path, mode=0o666): logger.debug("creating fifo", path=path, _verbosity=3)