From 81d62914ce2ec9ea6096ee097b6e48d332672b3c Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 11 Jul 2022 20:53:05 +0200 Subject: fuse-overlayfs: Fix buffer overflow bug on workdir path Signed-off-by: Andrei Gherzan Signed-off-by: Bruce Ashfield --- .../0001-Fix-buffer-overflow-on-workdir-path.patch | 32 ++++++++++++++++++++++ .../fuse-overlayfs/fuse-overlayfs_0.6.4.bb | 5 +++- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-Fix-buffer-overflow-on-workdir-path.patch diff --git a/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-Fix-buffer-overflow-on-workdir-path.patch b/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-Fix-buffer-overflow-on-workdir-path.patch new file mode 100644 index 00000000..129423d4 --- /dev/null +++ b/recipes-extended/fuse-overlayfs/fuse-overlayfs/0001-Fix-buffer-overflow-on-workdir-path.patch @@ -0,0 +1,32 @@ +From 7e5992d6121aed0cfcbfaf70472f28d87cff1426 Mon Sep 17 00:00:00 2001 +From: Andrei Gherzan +Date: Mon, 11 Jul 2022 20:36:06 +0200 +Subject: [PATCH] Fix buffer overflow on workdir path + +We make sure that the path used for workdir is reallocated before +appending. This was initially included in upstream as part of +https://github.com/containers/fuse-overlayfs/commit/d5b725b6f18a437db66bfc1456d04c3bf658f66a. + +Signed-off-by: Andrei Gherzan +Upstream-Status: Backport +--- + main.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/main.c b/main.c +index e5bdda1..118a6cb 100644 +--- a/main.c ++++ b/main.c +@@ -5039,6 +5039,9 @@ main (int argc, char *argv[]) + if (path == NULL) + goto err_out1; + mkdir (path, 0700); ++ path = realloc(path, strlen(path)+strlen("/work")+1); ++ if (!path) ++ error (EXIT_FAILURE, errno, "allocating workdir path"); + strcat (path, "/work"); + mkdir (path, 0700); + free (lo.workdir); +-- +2.25.1 + diff --git a/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb b/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb index a02c1e60..4f793bd9 100644 --- a/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb +++ b/recipes-extended/fuse-overlayfs/fuse-overlayfs_0.6.4.bb @@ -6,7 +6,10 @@ LICENSE = "GPL-3.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRCREV = "098d9ad79fdbb8538adde08628408aa32a8b4b17" -SRC_URI = "git://github.com/containers/fuse-overlayfs.git;nobranch=1;protocol=https" +SRC_URI = " \ + git://github.com/containers/fuse-overlayfs.git;nobranch=1;protocol=https \ + file://0001-Fix-buffer-overflow-on-workdir-path.patch \ +" DEPENDS = "fuse3" -- cgit v1.2.3-54-g00ecf