Security Advisory Important: openstack-swift security update

Advisory: RHSA-2012:1379-1
Type: Security Advisory
Severity: Important
Issued on: 2012-10-16
Last updated on: 2012-10-16
Affected Products: Red Hat OpenStack Essex
CVEs ( CVE-2012-4406


Updated openstack-swift packages that fix one security issue are now
available for Red Hat OpenStack Essex.

The Red Hat Security Response Team has rated this update as having
important security impact. A Common Vulnerability Scoring System (CVSS)
base score, which gives a detailed severity rating, is available from the
CVE link in the References section.

OpenStack Swift ( is a highly available,
distributed, eventually consistent object/blob store.

It was found that OpenStack Swift used the Python pickle module in an
insecure way to serialize and deserialize data from memcached. As
memcached does not have authentication, an attacker on the local network,
or possibly an unprivileged user in a virtual machine hosted on OpenStack,
could use this flaw to inject specially-crafted data that would lead to
arbitrary code execution. (CVE-2012-4406)

Red Hat would like to thank Sebastian Krahmer of the SUSE Security Team for
reporting this issue.

Note: The fix for CVE-2012-4406 is not enabled by default, and requires
manual action on the affected Proxy nodes. This update adds a
"memcache_serialization_support" option. It is configured in
"/etc/swift/proxy-server.conf" and is set to "0" by default. This default
setting is vulnerable to CVE-2012-4406.

To enable the fix, this option must be changed; however, the required
changes can have a temporary, large performance impact. The following
instructions aim to minimize performance issues:

1) Install the updated openstack-swift packages.

2) In "/etc/swift/proxy-server.conf", set the
"memcache_serialization_support" option in the memcache/[filter:cache]
section to "1". (The default value, "0", leaves you vulnerable to
CVE-2012-4406.) When set to "1", the JSON (JavaScript Object Notation)
format is used but pickle is still supported. This configuration is still
vulnerable, but new data will be stored in JSON format.

3) After setting the option to "1", run "service openstack-swift-proxy

4) After 24 hours, set the "memcache_serialization_support" option in
"/etc/swift/proxy-server.conf" to "2". "2" is the secure option: only JSON
is used.

5) After setting the option to "2", run "service openstack-swift-proxy

If "memcache_serialization_support" is set directly from "0" to "2", all
data in memcached will be flushed and re-created. This can lead to a
temporary, large performance impact.

All users of openstack-swift are advised to upgrade to these updated
packages, which correct this issue.


Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at

Updated packages

Red Hat OpenStack Essex

openstack-swift-1.4.8-5.el6.src.rpm     MD5: 9ee2c3c0bfcc08fe50069c95c67f13e8
SHA-256: 52e1c3bebc10191660b45df6b7fd7e07add62aae3273366f887eb3b1d0cceb77
openstack-swift-1.4.8-5.el6.noarch.rpm     MD5: b108774a5b10ccf0e748654b47380ea3
SHA-256: b3b182972a713930f71ba6e8dd65270aba82e8ed20f8fad0fb2ddafd5425d197
openstack-swift-account-1.4.8-5.el6.noarch.rpm     MD5: e3aaf4114eb295e216bb4d881b85bc29
SHA-256: 2f306281808a2de56760726643e2e80cd95a47fda7af2e04ad3b7d1b1614cb17
openstack-swift-container-1.4.8-5.el6.noarch.rpm     MD5: 391e353566c30bf03810ef72077a1875
SHA-256: 872d7866012b82b36ac4a925558658db5d195a08fc1971b53abb1926c3f8d454
openstack-swift-doc-1.4.8-5.el6.noarch.rpm     MD5: 580a05a0807dd5c271912e3d515c0bea
SHA-256: 1e55992b2c1cffb4e8d49a8209cd5148778f021fb8aca3dfae84b187ed186a22
openstack-swift-object-1.4.8-5.el6.noarch.rpm     MD5: 9fc981b4137e4c0c60d0b33bc543778f
SHA-256: d409ae942507bfff9aecab40e271d41bdb526f7724c5d65cfb2947f3c82fb292
openstack-swift-proxy-1.4.8-5.el6.noarch.rpm     MD5: 3d8dd884e42e83da114af8d957df41c9
SHA-256: 30647de77f96a200a2f4615e53c19a033f73b3d6fb3b1e8fa27e9fa6be95487e
(The unlinked packages above are only available from the Red Hat Network)

Bugs fixed (see bugzilla for more information)

854757 - CVE-2012-4406 Openstack-Swift: insecure use of python pickle()


These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:

The Red Hat security contact is More contact details at