RETIRED, further work has moved to Debian project infrastructure
Go to file
Daniel Gonzalez abfe2370ed Prevent template validate from scanning ports
The template validation method in the heat API allows to specify the
template to validate using a URL with the 'template_url' parameter.

By entering invalid http URLs, like 'http://localhost:22' it is
possible to scan ports by evaluating the error message of the request.

For example, the request

curl -H "Content-Type: application/json" -H "X-Auth-Token: <TOKEN>" \
-X POST -d '{"template_url": "http://localhost:22"}' \
http://127.0.0.1:8004/v1/<TENANT_ID>/validate

causes the following error message to be returned to the user:

"Could not retrieve template: Failed to retrieve template:
('Connection aborted.',
BadStatusLine('SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.1\\r\\n',))"

This could be misused by tenants to gain knowledge about the internal
network the heat API runs in.

To prevent this information leak, this patch alters the error message
to not include such details when the url scheme is not 'file'.

SecurityImpact

Closes-Bug: #1606500

Change-Id: Id1f86f41c1e6c028d889eca7ccbb9cde67631950
(cherry picked from commit eab9a33ce7)
2016-11-03 08:52:48 +01:00
bin Add console_scripts entry points for all heat services 2015-09-03 02:03:59 +00:00
contrib remove containers on delete 2016-03-02 15:52:22 +01:00
devstack/upgrade In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
doc Add table of custom constraints to hot spec 2015-09-18 18:53:16 -05:00
etc/heat Update preview_update_stack to align with PATCH updates 2015-10-06 13:52:50 +13:00
heat Prevent template validate from scanning ports 2016-11-03 08:52:48 +01:00
heat_integrationtests Increase the timeout for the stop_stack message 2016-09-22 10:57:24 -04:00
heat_upgradetests In-tree grenade support for Heat 2015-07-02 17:23:22 +05:30
rally-scenarios Fix outdated link in sample plugin 2015-09-06 18:28:22 +05:30
releasenotes add first reno-based release note 2015-12-10 21:22:50 +08:00
tools Add a way to run py34 tests from file 2015-07-09 07:15:37 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:26:58 +00:00
.gitignore Add reno for release notes management 2015-11-27 08:48:56 +00:00
.gitreview Update .gitreview for stable/liberty 2015-09-24 16:00:59 +12:00
.testr.conf Add separate requirements.txt to integration tests 2015-04-01 09:02:13 +00:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:36 +00:00
HACKING.rst cleanup of hacking.rst heat doc 2015-04-28 16:47:07 -04:00
LICENSE Initial commit (basics copied from glance) 2012-03-13 21:48:07 +11:00
README.rst update integration list in README 2015-09-03 08:45:49 +08:00
babel.cfg Add setup.py and friends 2012-03-14 09:25:54 +11:00
bandit.yaml tox environment for `bandit` 2015-07-08 09:13:35 -04:00
config-generator.conf Fix config generator for oslo.service 2015-06-27 05:33:07 -04:00
install.sh install.sh: stop using deprecated option group for rabbit 2015-09-01 19:01:34 +02:00
openstack-common.conf Switch to oslo.service 2015-06-23 08:30:39 +02:00
py3-testlist py34: heat.tests.mistral/convergence 2015-09-22 22:43:45 +05:30
pylintrc Directives to not use variable names that conflict with pdb 2012-03-20 07:16:16 -04:00
requirements.txt Updated from global requirements 2016-05-15 18:08:58 +00:00
setup.cfg Merge of three backported commits for fixing liberty gate 2015-10-19 03:38:03 -04:00
setup.py Updated from global requirements 2015-09-22 10:40:48 +00:00
test-requirements.txt Updated from global requirements 2016-10-03 13:34:06 +00:00
tox.ini Always use upper-constraints 2016-08-02 10:58:37 +08:00
uninstall.sh Add uninstall script for Heat 2012-06-23 22:41:30 -04:00

README.rst

Heat

Heat is a service to orchestrate multiple composite cloud applications using templates, through both an OpenStack-native REST API and a CloudFormation-compatible Query API.

Why heat? It makes the clouds rise and keeps them there.

Getting Started

If you'd like to run from the master branch, you can clone the git repo:

git clone git@github.com:openstack/heat.git

Python client

https://github.com/openstack/python-heatclient

References

We have integration with