CVE-2015-7518 - Smart class parameters/variables shown on host edit allows stored XSS in description
|Assigned To:||Tomer Brisker|
|Found in release:||Pull request:||https://github.com/theforeman/foreman/pull/2936|
|Velocity based estimate||-|
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.
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.
#5 Updated by Dominic Cleal 6 months ago
The patch fixes a few distinct XSS paths in the same information popups:
- Source name in global parameters, e.g. the name of a host group (since #7163 in 1.7.0)
- Description field in smart variables/class parameters (since 1.2 or earlier)
- Matcher in smart variables/class parameter overrides (since 1.2 or earlier)
- Inherited value in smart variables/class parameter overrides (1.11/develop only, not released)