fix xss issues in timeline & lightbox confirmation

stable
Juanfran 2015-11-10 14:20:52 +01:00
parent d0207ed71a
commit 54108680d7
2 changed files with 8 additions and 6 deletions

View File

@ -56,9 +56,9 @@ class ConfirmService extends taiga.Service
el = angular.element(lightboxSelector) el = angular.element(lightboxSelector)
# Render content # Render content
el.find("h2.title").html(title) el.find("h2.title").text(title)
el.find("span.subtitle").html(subtitle) el.find("span.subtitle").text(subtitle)
el.find("span.message").html(message) el.find("span.message").text(message)
# Assign event handlers # Assign event handlers
el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) => el.on "click.confirm-dialog", "a.button-green", debounce 2000, (event) =>

View File

@ -67,9 +67,11 @@ class UserTimelineItemTitle
if value == null && timeline.getIn(["data", "value_diff", "key"]) == 'assigned_to' if value == null && timeline.getIn(["data", "value_diff", "key"]) == 'assigned_to'
value = @translate.instant('ACTIVITY.VALUES.UNASSIGNED') value = @translate.instant('ACTIVITY.VALUES.UNASSIGNED')
return value new_value = value
else else
return timeline.getIn(["data", "value_diff", "value"]).first().get(1) new_value = timeline.getIn(["data", "value_diff", "value"]).first().get(1)
return _.escape(new_value)
sprint_name: (timeline, event) -> sprint_name: (timeline, event) ->
url = "project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])" url = "project-taskboard:project=timeline.getIn(['data', 'project', 'slug']),sprint=timeline.getIn(['data', 'milestone', 'slug'])"
@ -100,7 +102,7 @@ class UserTimelineItemTitle
return @._getLink(url, text) return @._getLink(url, text)
role_name: (timeline, event) -> role_name: (timeline, event) ->
return timeline.getIn(['data', 'value_diff', 'value']).keySeq().first() return _.escape(timeline.getIn(['data', 'value_diff', 'value']).keySeq().first())
} }
constructor: (@translate) -> constructor: (@translate) ->