[PATCH] core: validate input cgroup path more prudently
authorMike Yuan <me@yhndnzj.com>
Thu, 26 Feb 2026 10:06:34 +0000 (11:06 +0100)
committerTobias Deiminger <tobias.deiminger@linutronix.de>
Mon, 27 Apr 2026 19:48:55 +0000 (21:48 +0200)
(cherry picked from commit efa6ba2ab625aaa160ac435a09e6482fc63bdbe8)
(cherry picked from commit 3cee294fe8cf4fa0eff933ab21416d099942cabd)
(cherry picked from commit 1d22f706bd04f45f8422e17fbde3f56ece17758a)

Origin: upstream, https://github.com/systemd/systemd/commit/54588d2dedff54bfb6036670820650e4ea74628f

Gbp-Pq: Name CVE-2026-29111-4.patch

src/core/dbus-manager.c

index 9df3153b9d2b14bce872e791cb3b6a3cc95d75a0..ac51a492ee73067c9e5764f828e536ed879b424a 100644 (file)
@@ -644,6 +644,12 @@ static int method_get_unit_by_control_group(sd_bus_message *message, void *userd
         if (r < 0)
                 return r;
 
+        if (!path_is_absolute(cgroup))
+                return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Control group path is not absolute: %s", cgroup);
+
+        if (!path_is_normalized(cgroup))
+                return sd_bus_error_setf(error, SD_BUS_ERROR_INVALID_ARGS, "Control group path is not normalized: %s", cgroup);
+
         u = manager_get_unit_by_cgroup(m, cgroup);
         if (!u)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_UNIT,