CVE-2012-2654 OpenStack Compute (Nova) Improper Input Validation
MediumCVSS 4.3
EPSS 2.6%
- Published
- Updated
- Exploit status
- No public exploit known
Description
The (1) EC2 and (2) OS APIs in OpenStack Compute (Nova) Folsom (2012.2), Essex (2012.1), and Diablo (2011.3) do not properly check the protocol when security groups are created and the network protocol is not specified entirely in lowercase, which allows remote attackers to bypass intended access restrictions.
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| pypi nova(PyPI) | < 12.0.0a0 | 12.0.0a0 |
| pypi nova(PyPI) | All versions | No fix listed |
| pypi nova(PyPI) | = 15.1.5 | No fix listed |
| pypi nova(PyPI) | = 16.1.6 | No fix listed |
| pypi nova(PyPI) | = 16.1.7 | No fix listed |
| pypi nova(PyPI) | = 16.1.8 | No fix listed |
| pypi nova(PyPI) | = 17.0.10 | No fix listed |
| pypi nova(PyPI) | = 17.0.11 | No fix listed |
| pypi nova(PyPI) | = 17.0.12 | No fix listed |
| pypi nova(PyPI) | = 17.0.13 | No fix listed |
| pypi nova(PyPI) | = 17.0.7 | No fix listed |
| pypi nova(PyPI) | = 17.0.8 | No fix listed |
| pypi nova(PyPI) | = 17.0.9 | No fix listed |
| pypi nova(PyPI) | = 18.0.2 | No fix listed |
| pypi nova(PyPI) | = 18.0.3 | No fix listed |
| pypi nova(PyPI) | = 18.1.0 | No fix listed |
| pypi nova(PyPI) | = 18.2.0 | No fix listed |
| pypi nova(PyPI) | = 18.2.1 | No fix listed |
| pypi nova(PyPI) | = 18.2.2 | No fix listed |
| pypi nova(PyPI) | = 18.2.3 | No fix listed |
| pypi nova(PyPI) | = 18.3.0 | No fix listed |
| pypi nova(PyPI) | = 19.0.0 | No fix listed |
| pypi nova(PyPI) | = 19.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 19.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 19.0.1 | No fix listed |
Show 138 more
| Product | Affected versions | Fixed in |
|---|---|---|
| pypi nova(PyPI) | = 19.0.2 | No fix listed |
| pypi nova(PyPI) | = 19.0.3 | No fix listed |
| pypi nova(PyPI) | = 19.1.0 | No fix listed |
| pypi nova(PyPI) | = 19.2.0 | No fix listed |
| pypi nova(PyPI) | = 19.3.0 | No fix listed |
| pypi nova(PyPI) | = 19.3.1 | No fix listed |
| pypi nova(PyPI) | = 19.3.2 | No fix listed |
| pypi nova(PyPI) | = 20.0.0 | No fix listed |
| pypi nova(PyPI) | = 20.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 20.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 20.0.1 | No fix listed |
| pypi nova(PyPI) | = 20.1.0 | No fix listed |
| pypi nova(PyPI) | = 20.1.1 | No fix listed |
| pypi nova(PyPI) | = 20.2.0 | No fix listed |
| pypi nova(PyPI) | = 20.3.0 | No fix listed |
| pypi nova(PyPI) | = 20.4.0 | No fix listed |
| pypi nova(PyPI) | = 20.4.1 | No fix listed |
| pypi nova(PyPI) | = 20.5.0 | No fix listed |
| pypi nova(PyPI) | = 20.6.0 | No fix listed |
| pypi nova(PyPI) | = 20.6.1 | No fix listed |
| pypi nova(PyPI) | = 21.0.0 | No fix listed |
| pypi nova(PyPI) | = 21.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 21.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 21.1.0 | No fix listed |
| pypi nova(PyPI) | = 21.1.1 | No fix listed |
| pypi nova(PyPI) | = 21.1.2 | No fix listed |
| pypi nova(PyPI) | = 21.2.0 | No fix listed |
| pypi nova(PyPI) | = 21.2.1 | No fix listed |
| pypi nova(PyPI) | = 21.2.2 | No fix listed |
| pypi nova(PyPI) | = 21.2.3 | No fix listed |
| pypi nova(PyPI) | = 21.2.4 | No fix listed |
| pypi nova(PyPI) | = 22.0.0 | No fix listed |
| pypi nova(PyPI) | = 22.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 22.0.1 | No fix listed |
| pypi nova(PyPI) | = 22.1.0 | No fix listed |
| pypi nova(PyPI) | = 22.2.0 | No fix listed |
| pypi nova(PyPI) | = 22.2.1 | No fix listed |
| pypi nova(PyPI) | = 22.2.2 | No fix listed |
| pypi nova(PyPI) | = 22.3.0 | No fix listed |
| pypi nova(PyPI) | = 22.4.0 | No fix listed |
| pypi nova(PyPI) | = 23.0.0 | No fix listed |
| pypi nova(PyPI) | = 23.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 23.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 23.0.1 | No fix listed |
| pypi nova(PyPI) | = 23.0.2 | No fix listed |
| pypi nova(PyPI) | = 23.1.0 | No fix listed |
| pypi nova(PyPI) | = 23.2.0 | No fix listed |
| pypi nova(PyPI) | = 23.2.1 | No fix listed |
| pypi nova(PyPI) | = 23.2.2 | No fix listed |
| pypi nova(PyPI) | = 24.0.0 | No fix listed |
| pypi nova(PyPI) | = 24.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 24.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 24.1.0 | No fix listed |
| pypi nova(PyPI) | = 24.1.1 | No fix listed |
| pypi nova(PyPI) | = 24.2.0 | No fix listed |
| pypi nova(PyPI) | = 24.2.1 | No fix listed |
| pypi nova(PyPI) | = 25.0.0 | No fix listed |
| pypi nova(PyPI) | = 25.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 25.0.1 | No fix listed |
| pypi nova(PyPI) | = 25.1.0 | No fix listed |
| pypi nova(PyPI) | = 25.1.1 | No fix listed |
| pypi nova(PyPI) | = 25.2.0 | No fix listed |
| pypi nova(PyPI) | = 25.2.1 | No fix listed |
| pypi nova(PyPI) | = 25.3.0 | No fix listed |
| pypi nova(PyPI) | = 26.0.0 | No fix listed |
| pypi nova(PyPI) | = 26.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 26.0.0.0rc2 | No fix listed |
| pypi nova(PyPI) | = 26.1.0 | No fix listed |
| pypi nova(PyPI) | = 26.1.1 | No fix listed |
| pypi nova(PyPI) | = 26.2.0 | No fix listed |
| pypi nova(PyPI) | = 26.2.1 | No fix listed |
| pypi nova(PyPI) | = 26.2.2 | No fix listed |
| pypi nova(PyPI) | = 26.3.0 | No fix listed |
| pypi nova(PyPI) | = 27.0.0 | No fix listed |
| pypi nova(PyPI) | = 27.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 27.1.0 | No fix listed |
| pypi nova(PyPI) | = 27.2.0 | No fix listed |
| pypi nova(PyPI) | = 27.3.0 | No fix listed |
| pypi nova(PyPI) | = 27.4.0 | No fix listed |
| pypi nova(PyPI) | = 27.5.0 | No fix listed |
| pypi nova(PyPI) | = 27.5.1 | No fix listed |
| pypi nova(PyPI) | = 28.0.0 | No fix listed |
| pypi nova(PyPI) | = 28.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 28.0.1 | No fix listed |
| pypi nova(PyPI) | = 28.1.0 | No fix listed |
| pypi nova(PyPI) | = 28.2.0 | No fix listed |
| pypi nova(PyPI) | = 28.3.0 | No fix listed |
| pypi nova(PyPI) | = 28.3.1 | No fix listed |
| pypi nova(PyPI) | = 29.0.0 | No fix listed |
| pypi nova(PyPI) | = 29.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 29.0.1 | No fix listed |
| pypi nova(PyPI) | = 29.0.2 | No fix listed |
| pypi nova(PyPI) | = 29.1.0 | No fix listed |
| pypi nova(PyPI) | = 29.2.0 | No fix listed |
| pypi nova(PyPI) | = 29.2.1 | No fix listed |
| pypi nova(PyPI) | = 29.2.2 | No fix listed |
| pypi nova(PyPI) | = 29.3.0 | No fix listed |
| pypi nova(PyPI) | = 29.4.0 | No fix listed |
| pypi nova(PyPI) | = 30.0.0 | No fix listed |
| pypi nova(PyPI) | = 30.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 30.1.0 | No fix listed |
| pypi nova(PyPI) | = 30.2.0 | No fix listed |
| pypi nova(PyPI) | = 30.2.1 | No fix listed |
| pypi nova(PyPI) | = 30.3.0 | No fix listed |
| pypi nova(PyPI) | = 31.0.0 | No fix listed |
| pypi nova(PyPI) | = 31.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 31.0.1 | No fix listed |
| pypi nova(PyPI) | = 31.1.0 | No fix listed |
| pypi nova(PyPI) | = 31.2.0 | No fix listed |
| pypi nova(PyPI) | = 31.3.0 | No fix listed |
| pypi nova(PyPI) | = 32.0.0 | No fix listed |
| pypi nova(PyPI) | = 32.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 32.1.0 | No fix listed |
| pypi nova(PyPI) | = 32.2.0 | No fix listed |
| pypi nova(PyPI) | = 33.0.0 | No fix listed |
| pypi nova(PyPI) | = 33.0.0.0rc1 | No fix listed |
| pypi nova(PyPI) | = 33.0.1 | No fix listed |
| pypi nova(PyPI) | = folsom-1 | No fix listed |
| pypi nova(PyPI) | = essex-rc4 | No fix listed |
| pypi nova(PyPI) | = 2012.1 | No fix listed |
| pypi nova(PyPI) | = essex-rc3 | No fix listed |
| pypi nova(PyPI) | = essex-rc2 | No fix listed |
| pypi nova(PyPI) | = essex-rc1 | No fix listed |
| pypi nova(PyPI) | = essex-1 | No fix listed |
| pypi nova(PyPI) | = diablo-1 | No fix listed |
| pypi nova(PyPI) | = 2011.2 | No fix listed |
| pypi nova(PyPI) | = 2011.2rc1 | No fix listed |
| pypi nova(PyPI) | = 2011.2gamma1 | No fix listed |
| pypi nova(PyPI) | = 2011.1rc1 | No fix listed |
| pypi nova(PyPI) | = 2011.1 | No fix listed |
| pypi nova(PyPI) | = 2010.1 | No fix listed |
| pypi nova(PyPI) | = 0.9.0 | No fix listed |
| debian/nova(Debian:12) | < 2012.1-6 | 2012.1-6 |
| debian/nova(Debian:13) | < 2012.1-6 | 2012.1-6 |
| debian/nova(Debian:14) | < 2012.1-6 | 2012.1-6 |
| OpenStack compute | = 2012.2 | No fix listed |
| OpenStack diablo | = 2011.3 | No fix listed |
| OpenStack essex | = 2012.1 | No fix listed |
References
- nvd.nist.gov third-party-advisory vendor-advisory
- github.com exploit patch
- github.com exploit patch
- bugs.launchpad.net patch
- nova-security-group-sec-bypass(76110) vdb-entry
- github.com product
- github.com
- [openstack] 20120606 [OSSA 2012-007] Security groups fail to be set correctly (CVE-2012-2654) mailing-list
- review.openstack.org
- USN-1466-1 vendor-advisory
- 49439 third-party-advisory vendor-advisory
- 46808 third-party-advisory vendor-advisory
- github.com vendor-advisory
- Debian Security Tracker CVE-2012-2654 vendor-advisory
- bugs.debian.org issue-tracking