From b95118653c217a35f41a13abb6e37137c943bcc6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 08:10:49 +0000 Subject: [PATCH 1/2] Initial plan From 8834c02b91331ea552d3c78e20a4205ebbb5f7da Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 4 Mar 2026 08:46:27 +0000 Subject: [PATCH 2/2] fix: decode >, <, & HTML entities in sanitize pipeline to prevent literal > in issue titles Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- actions/setup/js/sanitize_content.test.cjs | 45 ++++++++++++++++++++++ actions/setup/js/sanitize_content_core.cjs | 15 +++++++- actions/setup/js/sanitize_title.test.cjs | 38 ++++++++++++++++++ 3 files changed, 96 insertions(+), 2 deletions(-) diff --git a/actions/setup/js/sanitize_content.test.cjs b/actions/setup/js/sanitize_content.test.cjs index 8c383588624..f9bd765dbcb 100644 --- a/actions/setup/js/sanitize_content.test.cjs +++ b/actions/setup/js/sanitize_content.test.cjs @@ -1663,6 +1663,51 @@ describe("sanitize_content.cjs", () => { const result = sanitizeContent("@author is allowed", { allowedAliases: ["author"] }); expect(result).toBe("@author is allowed"); }); + + it("should decode > entity to > to prevent literal > in output", () => { + const result = sanitizeContent("value > threshold"); + expect(result).toBe("value > threshold"); + }); + + it("should decode double-encoded &gt; entity to >", () => { + const result = sanitizeContent("value &gt; threshold"); + expect(result).toBe("value > threshold"); + }); + + it("should decode < entity to < and then neutralize resulting tags", () => { + const result = sanitizeContent("<script> injection"); + // < → < and > → >, then convertXmlTags turns