Collins v2.2.0 Release Notes
Release Date: 2017-10-11 // over 7 years ago-
🔒 This version of Collins includes an important security patch, as well as several new features and bug fixes.
🔒 The security patch is adding CSRF protection to the various forms of the Collins web UI. Currently, if an attacker can guess (or bruteforce) the asset tags of nodes he or she would be able to create assets, decommission assets, put assets in maintenance, etc. by getting a logged in user to visit a webpage. More information can be found in the pull request (#560).
🚀 Here is the full list of merged pull request since the last release. Many thanks to everyone who contributed!
- ✅ Trying to revive the tests #491 @discordianfish
- 🛠 Fix "respond_to? is old fashion" warning #501 @william-richard
- 🍱 Only query allocated remote assets #498 @william-richard
- ➕ Added docs explaining how to cut a collins release #503 @william-richard
- ➕ Add ipmitool to container #506 @michaeljs1990
- 🛠 Fix relative path to collins-client in collins-shell bin #504 @ssgelm
- ➕ Add EXTRA_OPTS for extra java options which do not fit other types #507 @vhp
- 📌 pin rake for collins-state gem #516 @byxorna
- 📜 Make base_serial optional in LSHW parsing #517 @byxorna
- 🐳 make default docker permissions.yaml synchronized with latest changes #494 @byxorna
- 👉 make vlan-id attribute optional in lldp #523 @byxorna
- 🛠 Fix unit tests for CI travis #531 @byxorna
- ➕ AddressPool name conversion should always handle defaultPoolName correctly #527 @byxorna
- 👍 IPMI network allocations API with pool support #513 @byxorna
- ➕ Add IPMI pools to /api/address/pools endpoint #521 @michaeljs1990
- ➕ Add Classification to asset API #538 @michaeljs1990
- 👉 Show overview broken out by interface capacities #548 @byxorna
- 🚤 Tuning for Solr to improve indexing latency #529 @byxorna
- ➕ Add gpu support #537 @jyundt
- ➕ Adding methods to python client. #456 @ytjohn
- 🛠 Fix ipmi pool api #554 @michaeljs1990
- Dynamic Enum Fix #547 @michaeljs1990
- 🛠 Fix duplicate getLshwValues definition #560 @byxorna
- ➕ Add logo and favicon #563 @defect
- ➕ Add support for NVMe disks in LSHW #565 @defect
- 🔌 Don't show Graphs tabs if plugin is disabled #556 @defect
- 🌐 CSRF protection for web forms #570 @defect
Previous changes from v2.1.0
-
🔒 Collins 2.1.0 has a very important security patch.
🔧 Collins has a feature that allows you to encrypt certain attributes on every asset. It also had a permission that restricted which users could read those encrypted tags. It did NOT have a permission that restricted which users could modify encrypted tags.
⬆️ It is strongly recommended that you upgrade to collins 2.1.0 if you are using the encrypted tags feature, as well as rotate any values stored in encrypted tags.
The severity of this vulnerability depends heavily upon how you use collins in your infrastructure. If you do not use the encrypted tags feature, you are not vulnerable to this problem. If you do use the encrypted tags feature, you will need to explore your automation and consider how vulnerable you are.
If, for example, your infrastructure has automation that regularly sets the root password on servers to match a value that is in collins, an attacker without the ability to read the current password could set it to a value that they know, wait for the automation to change the password, and then gain root on a server.
⬆️ This change is backwards compatible with collins v2.0.0, though once you upgrade it will stop any writes to encrypted tags by users that have not been granted
feature.canWriteEncryptedTags
permission. We have also renamedfeature.canSeePasswords
tofeature.canSeeEncryptedTags
, but collins will continue to respect the value offeature.canSeePasswords
iffeature.canSeeEncryptedTags
is not set. Oncefeature.canSeeEncryptedTags
is set, collins will ignore the value offeature.canSeePasswords
.