From: Alessandro Astone Date: Sun, 22 Jan 2023 15:42:06 +0000 (+0100) Subject: security: Verify session pid against DBus connection X-Git-Tag: 1.4.0~23 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/commitdiff_plain/556d281233a640a4f8c1a3c7c2bd28aefd512210 security: Verify session pid against DBus connection --- diff --git a/tools/actions/container_manager.py b/tools/actions/container_manager.py index e537e18..5a6fe71 100644 --- a/tools/actions/container_manager.py +++ b/tools/actions/container_manager.py @@ -28,6 +28,9 @@ class DbusContainerManager(dbus.service.Object): uid = dbus_info.GetConnectionUnixUser(sender) if str(uid) not in ["0", session["user_id"]]: raise RuntimeError("Cannot start a session on behalf of another user") + pid = dbus_info.GetConnectionUnixProcessID(sender) + if str(uid) != "0" and str(pid) != session["pid"]: + raise RuntimeError("Invalid session pid") do_start(self.args, session) @dbus.service.method("id.waydro.ContainerManager", in_signature='b', out_signature='')