gaction: remote triggered crashes
GApplication makes it easy to export actions on the bus.
But nothing in the GAction machinery does any careful parameter type checks, which makes it trivial to trigger crashes in apps that export actions. Traditionally, we treat the session bus as a single security domain, but with sandboxed apps, this is a little different. In any case, trivially triggerable crashes are bad news.
For example:
gdbus call --session --dest org.gnome.ControlCenter --object-path /org/gnome/ControlCenter --method org.gtk.Actions.Activate "launch-panel" [\<1\>] []
yields
(gnome-control-center:8069): GLib-GIO-CRITICAL **: 20:29:01.241: g_simple_action_activate: assertion 'simple->parameter_type == NULL ? parameter == NULL : (parameter != NULL && g_variant_is_of_type (parameter, simple->parameter_type))' failed
Edited by Matthias Clasen