The ChartBoardAction.doSetCurveColor method is vulnerable to persistent XSS when saving an unsanitized color parameter in user preferences. The set method isn’t protected from XSRF, allowing exploitation from remote attackers.

      File: greenhopper\src\main\java\com\pyxis\greenhopper\jira\Actions\ChartBoardAction.java

      ChartBoardAction.java
      package com.pyxis.greenhopper.jira.actions;
      import java.io.IOException;
      import java.util.Set;
      ...
      @SuppressWarnings("serial")
      public class ChartBoardAction extends VersionBoardAction
      {
      ...
          protected String color;
      ...    
          public String doSetCurveColor()
          {
            Set<CurveSettings> settings = getChartContext().getSettings();
            for(CurveSettings curveSetting : settings)
            {
              if(curveSetting.getId().equals(curveId))
              {
                curveSetting.setColor(color);
                break;
              }
            }
            getPreferences().setSettings(getChartContext().getSettingsId(), settings);
            getPreferences().save();
            return SUCCESS;
          }
      ...
          public void setColor(String color)
          {
            this.color = color;
          }
      

            [JSWCLOUD-9069] ChartBoardAction.doSetCurveColor Persistent XSS

              Unassigned Unassigned
              cee3f48a9671 Daniel
              Affected customers:
              0 This affects my team
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: