HexBrain

HackerOne · Report #1874260

HTML injection that may lead to XSS on HackerOne.com through H1 Triage Wizard Chrome Extension

Validstatus
lowseverity
21upvotes
14 Feb 2023disclosed

How it was found

To reproduce:

{F2173699}

The payload is stored in █████████. The contents of this file are dynamically loaded through the Chrome extension.

The vulnerability is caused by the following code in the triage-extension-private repository:

buildTriageQuestionnaireModal = (
  modalElement,
  triageQuestionnaireModalOptions
) => {
  let questionnaireResponses =
    triageQuestionnaireModalOptions.questionnaireResponses;
  if (questionnaireResponses) {
    modalElement.innerHTML = triageQuestionnaireHTML
      .replace("{{handle}}", triageQuestionnaireModalOptions.handle) // <-- the handle here is taken from the subject parameter (i.e. "security")
      .replace("{{1}}", questionnaireResponses[1]) // <-- the response to the questionnaire is interpolated without sanitizing it
      .replace("{{2}}", questionnaireResponses[2]) // <-- this applies to all of these
      .replace("{{3}}", questionnaireResponses[3])
// ...

Impact

This vulnerability may lead to compromising confidential information or impact its integrity.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original