From b9f6fe2750983e2619696ba633a5c2722acb5d5b Mon Sep 17 00:00:00 2001 From: Changqing Li Date: Sun, 14 Mar 2021 18:03:25 -0700 Subject: report-error.bbclass: replace angle brackets with < and > when we have below content in local.conf or auto.conf: BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj " send-error-report will fail with "HTTP Error 500: OK" error-report-web do rudimentary check on all fields that are passed to the graphs page to avoid any XSS happening, if contains '<', the server will return error(Invalid characters in json). fixed by use escape of <> to replace it. NOTE: with this change, error-report-web need to add filter 'safe' for the string wanted to display to avoid further HTML escaping prior to output. Below is how the content displayed on webpage: with the filter 'safe': BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj " without the filter 'safe': BUILDHISTORY_COMMIT_AUTHOR ?= "Khem Raj <raj.khem@gmail.com>" Another patch for error-report-web will send to yocto mail list. [YOCTO #13252] Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- meta/classes/report-error.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass index 88194ca1af..e527dc7f51 100644 --- a/meta/classes/report-error.bbclass +++ b/meta/classes/report-error.bbclass @@ -42,6 +42,7 @@ def get_conf_data(e, filename): continue else: jsonstring=jsonstring + line + jsonstring = jsonstring.replace("<", "<").replace(">", ">") return jsonstring def errorreport_get_user_info(e): -- cgit 1.2.3-korg