From 46b3ede5241561c7d588951048c687c5075a3eac Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 5 Mar 2021 13:51:33 +0000 Subject: [PATCH] dir: Refuse to export .desktop files with suspicious uses of @@ tokens This is either a malicious/compromised app trying to do an attack, or a mistake that will break handling of %f, %u and so on. Either way, if we refuse to export the .desktop file, resulting in installation failing, then it makes the rejection more obvious than quietly removing the magic tokens. Signed-off-by: Simon McVittie --- common/flatpak-dir.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index facfab37a..c5edf346f 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -5829,7 +5829,11 @@ export_desktop_file (const char *app, else if (strcasecmp (arg, "%u") == 0) g_string_append_printf (new_exec, " @@u %s @@", arg); else if (g_str_has_prefix (arg, "@@")) - g_print (_("Skipping invalid Exec argument %s\n"), arg); + { + flatpak_fail_error (error, FLATPAK_ERROR_EXPORT_FAILED, + _("Invalid Exec argument %s"), arg); + goto out; + } else g_string_append_printf (new_exec, " %s", arg); }