Project

General

Profile

Bug #12611

CVE-2015-7518 - Smart class parameters/variables shown on host edit allows stored XSS in description

Added by Dominic Cleal over 7 years ago. Updated over 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Security
Target version:
Difficulty:
Triaged:
Bugzilla link:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

Reported by Tomer Brisker to foreman-security:

I have discovered a stored XSS vulnerability in the host and hostgroup edit forms caused by smart class parameters and smart variables.

These forms display a popover that shows additional info about any of the parameters that can be overridden. The popover is rendered with HTML but contains values that can be input by a user - the parameter description, and in develop branch also the inherited value.

Effectively, any user who can edit parameters can input arbitrary HTML or JS into the description field or the default value, which will be executed once the popover is triggered by any other user.

This affects all versions of Foreman.

CVE identifier is CVE-2015-7518.


Related issues

Related to Foreman - Feature #7163: In host's edit page, show the source for the value of puppet class parametersClosed2014-08-20
Related to Foreman - Feature #15495: URL's in parameter descriptionNew2016-06-22

Associated revisions

Revision 32468bce (diff)
Added by Tomer Brisker over 7 years ago

Fixes #12611 - CVE-2015-7518 prevent XSS on host edit form

The host edit forms allowed stored XSS attacks by storing html content
in smart class parameter and smart variable description or inherited
values, which is then passed unescaped to an html-allowing popover.
This patch makes sure these user-controlled strings are correctly
escaped before being inserted into the popover.

Revision f5576998 (diff)
Added by Tomer Brisker over 7 years ago

Fixes #12611 - CVE-2015-7518 prevent XSS on host edit form

The host edit forms allowed stored XSS attacks by storing html content
in smart class parameter and smart variable description or inherited
values, which is then passed unescaped to an html-allowing popover.
This patch makes sure these user-controlled strings are correctly
escaped before being inserted into the popover.

(cherry picked from commit 32468bce938067b1bbde1c2025771b5b83ce88ec)

History

#1 Updated by Dominic Cleal over 7 years ago

  • Subject changed from Smart class parameters/variables shown on host edit allows stored XSS in description to CVE-2015-7518 - Smart class parameters/variables shown on host edit allows stored XSS in description
  • Description updated (diff)

#2 Updated by The Foreman Bot over 7 years ago

  • Status changed from New to Ready For Testing
  • Assignee set to Tomer Brisker
  • Pull request https://github.com/theforeman/foreman/pull/2936 added

#3 Updated by Anonymous over 7 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#4 Updated by Dominic Cleal over 7 years ago

  • Legacy Backlogs Release (now unused) set to 63

#5 Updated by Dominic Cleal over 7 years ago

The patch fixes a few distinct XSS paths in the same information popups:

  1. Source name in global parameters, e.g. the name of a host group (since #7163 in 1.7.0)
  2. Description field in smart variables/class parameters (since 1.2 or earlier)
  3. Matcher in smart variables/class parameter overrides (since 1.2 or earlier)
  4. Inherited value in smart variables/class parameter overrides (1.11/develop only, not released)

#6 Updated by Dominic Cleal over 7 years ago

  • Related to Feature #7163: In host's edit page, show the source for the value of puppet class parameters added

#7 Updated by Bryan Kearney about 7 years ago

  • Bugzilla link set to 1297040

#8 Updated by Dominic Cleal over 6 years ago

Also available in: Atom PDF