Cloudanix VulnDB

CVE-2016-4428

Medium · 5.4

CVSS

5.4

EPSS

2.1%

Published

Jul 12, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A flaw in the OpenStack management dashboard lets certain logged-in users trick the interface into running harmful code inside other users' browsers.

Exploitation
Remote Authenticated
Attacker needs
Low Privilege
Complexity
Low
Impact
Data Exposure
Component
Application
Class
XSS
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Authenticated users can inject malicious AngularJS templates into Horizon dashboard forms, bypassing sanitization and executing arbitrary script in other users' browsers with the victim's session context.

Why it matters to the business

Attackers with low-privilege dashboard access could steal session tokens, modify displayed data, or perform actions on behalf of other administrators, increasing risk of unauthorized cloud resource changes or data exposure in OpenStack environments.

How an attack unfolds

An attacker authenticates to the Horizon dashboard, locates a form that accepts AngularJS template input, embeds a malicious expression that triggers on render, and waits for other users to load the affected page so the script executes under their privileges.

How to fix it

Upgrade OpenStack Horizon to a version beyond 9.0.1 that includes input sanitization for AngularJS templates; apply vendor patches for affected OpenStack and Red Hat distributions; enforce strict content security policies and disable unnecessary template rendering features until patched.

How to confirm the fix worked

Review Horizon release notes and package versions against known fixed releases; test forms for template injection by submitting safe Angular expressions and confirming they are escaped; scan dashboard source for updated sanitization logic around user-supplied templates.

Typical attack path

  1. Obtain valid credentials for a Horizon user account
  2. Navigate to a vulnerable dashboard form accepting template input
  3. Submit an AngularJS expression containing malicious JavaScript
  4. Induce other authenticated users to view the injected content
  5. Execute actions such as token theft or UI manipulation in victim context

How to detect it

Inspect web server and Horizon application logs for unusual form submissions containing AngularJS syntax such as double curly braces or ng- directives; monitor for unexpected script execution events or changes to dashboard content viewed by multiple users.

  • {{constructor.constructor
  • ng-app
  • ng-bind-html
  • angular.module

What your security team should do

  • Prioritize patching Horizon instances given the authenticated attack surface
  • Audit all custom or third-party dashboard plugins for similar template handling
  • Implement web application firewall rules to block common AngularJS expression patterns
  • Review logs for anomalous form submissions containing template syntax

The record

Cross-site scripting (XSS) vulnerability in OpenStack Dashboard (Horizon) 8.0.1 and earlier and 9.0.0 through 9.0.1 allows remote authenticated users to inject arbitrary web script or HTML by injecting an AngularJS template in a dashboard form.

Affected packages

Ecosystem Package Introduced Fixed
PyPI horizon 0 8.0.2
PyPI horizon 9.0.0 9.1.0
Debian:11 horizon 0 3:9.0.1-2
Debian:12 horizon 0 3:9.0.1-2
Debian:13 horizon 0 3:9.0.1-2
Debian:7 horizon 0 2012.1.1-10+deb7u1
Debian:8 horizon 0 2014.1.3-7+deb8u2
Red Hat:openstack:5::el6 openstack-dashboard 0 0:2014.1.5-4.el6ost
Red Hat:openstack:5::el6 openstack-dashboard-theme 0 0:2014.1.5-4.el6ost
Red Hat:openstack:5::el6 python-django-horizon 0 0:2014.1.5-4.el6ost
Red Hat:openstack:5::el6 python-django-horizon-doc 0 0:2014.1.5-4.el6ost
Red Hat:openstack:5::el7 openstack-dashboard 0 0:2014.1.5-4.el7ost
Red Hat:openstack:5::el7 openstack-dashboard-theme 0 0:2014.1.5-4.el7ost
Red Hat:openstack:5::el7 python-django-horizon 0 0:2014.1.5-4.el7ost
Red Hat:openstack:5::el7 python-django-horizon-doc 0 0:2014.1.5-4.el7ost
Red Hat:openstack:6::el7 openstack-dashboard 0 0:2014.2.3-9.el7ost
Red Hat:openstack:6::el7 openstack-dashboard-theme 0 0:2014.2.3-9.el7ost
Red Hat:openstack:6::el7 python-django-horizon 0 0:2014.2.3-9.el7ost
Red Hat:openstack:6::el7 python-django-horizon-doc 0 0:2014.2.3-9.el7ost
Red Hat:openstack:7::el7 openstack-dashboard 0 0:2015.1.4-1.el7ost
Red Hat:openstack:7::el7 openstack-dashboard-theme 0 0:2015.1.4-1.el7ost
Red Hat:openstack:7::el7 python-django-horizon 0 0:2015.1.4-1.el7ost
Red Hat:openstack:7::el7 python-django-horizon-doc 0 0:2015.1.4-1.el7ost
Red Hat:openstack:8::el7 openstack-dashboard 0 1:8.0.1-4.el7ost
Red Hat:openstack:8::el7 openstack-dashboard-theme 0 1:8.0.1-4.el7ost
Red Hat:openstack:8::el7 python-django-horizon 0 1:8.0.1-4.el7ost
SUSE:OpenStack Cloud 6 openstack-ceilometer 0 5.0.4~a0~dev6-6.1
SUSE:OpenStack Cloud 6 openstack-ceilometer-doc 0 5.0.4~a0~dev6-6.2
SUSE:OpenStack Cloud 6 openstack-cinder 0 7.0.3~a0~dev2-7.1
SUSE:OpenStack Cloud 6 openstack-cinder-doc 0 7.0.3~a0~dev2-7.1
SUSE:OpenStack Cloud 6 openstack-dashboard 0 8.0.2~a0~dev34-8.1
SUSE:OpenStack Cloud 6 openstack-glance 0 11.0.2~a0~dev13-7.1
SUSE:OpenStack Cloud 6 openstack-glance-doc 0 11.0.2~a0~dev13-7.1
SUSE:OpenStack Cloud 6 openstack-heat 0 5.0.2~a0~dev93-9.1
SUSE:OpenStack Cloud 6 openstack-heat-doc 0 5.0.2~a0~dev93-9.3
SUSE:OpenStack Cloud 6 openstack-keystone 0 8.1.1~a0~dev13-3.1
SUSE:OpenStack Cloud 6 openstack-keystone-doc 0 8.1.1~a0~dev13-3.2
SUSE:OpenStack Cloud 6 openstack-manila 0 1.0.2~a0~dev11-9.1
SUSE:OpenStack Cloud 6 openstack-manila-doc 0 1.0.2~a0~dev11-9.2
SUSE:OpenStack Cloud 6 openstack-neutron 0 7.1.2~a0~dev29-10.1
SUSE:OpenStack Cloud 6 openstack-neutron-doc 0 7.1.2~a0~dev29-10.1
SUSE:OpenStack Cloud 6 openstack-neutron-fwaas 0 7.1.2~a0~dev1-6.1
SUSE:OpenStack Cloud 6 openstack-neutron-fwaas-doc 0 7.1.2~a0~dev1-6.1
SUSE:OpenStack Cloud 6 openstack-neutron-lbaas 0 7.1.2~a0~dev1-6.1
SUSE:OpenStack Cloud 6 openstack-neutron-lbaas-doc 0 7.1.2~a0~dev1-6.1
SUSE:OpenStack Cloud 6 openstack-nova 0 12.0.5~a0~dev2-7.1
SUSE:OpenStack Cloud 6 openstack-nova-doc 0 12.0.5~a0~dev2-7.1
SUSE:OpenStack Cloud 6 openstack-resource-agents 0 1.0+git.1467079370.4f2c49d-7.1
SUSE:OpenStack Cloud 6 python-networking-cisco 0 2.1.1-6.1
SUSE:OpenStack Cloud 6 python-openstackclient 0 1.7.2-4.1
Ubuntu:14.04:LTS horizon 0 1:2014.1.5-0ubuntu2.1
Ubuntu:16.04:LTS horizon 0 2:9.1.2-0ubuntu1
pypi horizon 9.0.0 No fix

Related vulnerabilities