From 1678ab2a77c3db5eebb4562acd6d5a68d7af3d6f Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Thu, 2 Jul 2026 16:03:01 +0100 Subject: [PATCH] tools/libfsimage: Remove the XEN_FSIMAGE_FSDIR environment variable MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This was reported to the security team, demonstrating that code execution could be achieved, but without a demonstration of a priviliege boundary being bypassed. Still, it's a high risk path with no obvious evidence of having been used even for debugging, so remove the environment variable and use the build time $(libdir)/xenfsimage path only. Signed-off-by: Andrew Cooper Reviewed-by: Roger Pau Monné Acked-by: Oleksii Kurochko Acked-by: Anthony PERARD Release-Acked-by: Oleksii Kurochko (cherry picked from commit f0161d2d89cfae43a6c5e974568c10b760bf13a4) --- CHANGELOG.md | 1 + tools/libfsimage/common/fsimage_plugin.c | 5 +---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5cf19372a3..6bb18fca75 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Removed xenpm tool on non-x86 platforms as it doesn't actually provide anything useful outside of x86. + - Removed the XEN_FSIMAGE_FSDIR environment variable. ## [4.21.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.21.0) - 2025-11-19 diff --git a/tools/libfsimage/common/fsimage_plugin.c b/tools/libfsimage/common/fsimage_plugin.c index d0cb9e96a6..539dc24735 100644 --- a/tools/libfsimage/common/fsimage_plugin.c +++ b/tools/libfsimage/common/fsimage_plugin.c @@ -121,7 +121,7 @@ fail: int fsi_init(void) { - const char *fsdir = getenv("XEN_FSIMAGE_FSDIR"); + const char *fsdir = FSIMAGE_FSDIR; struct dirent *dp = NULL; DIR *dir = NULL; char *tmp = NULL; @@ -129,9 +129,6 @@ int fsi_init(void) int err; int ret = -1; - if (fsdir == NULL) - fsdir = FSIMAGE_FSDIR; - if ((name_max = pathconf(fsdir, _PC_NAME_MAX)) == -1) goto fail;