<?xml version="1.0" encoding="utf-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Red Hat Security Advisory: openstack-swift security update</DocumentTitle>
  <DocumentType>Security Advisory</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>secalert@redhat.com</ContactDetails>
    <IssuingAuthority>Red Hat Security Response Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification><ID>RHSA-2012:1379</ID></Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
       <Revision>
         <Number>1</Number>
         <Date>2012-10-16T17:42:00Z</Date>
         <Description>Current version</Description>
       </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2012-10-16T17:42:00Z</InitialReleaseDate>
    <CurrentReleaseDate>2012-10-16T17:42:00Z</CurrentReleaseDate>
    <Generator>
      <Engine>Red Hat rhsa-to-cvrf 1.0.1484</Engine>
      <Date>2012-10-16T17:44:02Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">
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.    </Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">
OpenStack Swift (http://swift.openstack.org) 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
&quot;memcache_serialization_support&quot; option. It is configured in
&quot;/etc/swift/proxy-server.conf&quot; and is set to &quot;0&quot; 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 &quot;/etc/swift/proxy-server.conf&quot;, set the
&quot;memcache_serialization_support&quot; option in the memcache/[filter:cache]
section to &quot;1&quot;. (The default value, &quot;0&quot;, leaves you vulnerable to
CVE-2012-4406.) When set to &quot;1&quot;, 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 &quot;1&quot;, run &quot;service openstack-swift-proxy
restart&quot;.

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

5) After setting the option to &quot;2&quot;, run &quot;service openstack-swift-proxy
restart&quot;.

If &quot;memcache_serialization_support&quot; is set directly from &quot;0&quot; to &quot;2&quot;, 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.    </Note>
    <Note Title="Terms of Use" Ordinal="3" Type="Legal Disclaimer" xml:lang="en">Please see https://www.redhat.com/footer/terms-of-use.html</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
  <AggregateSeverity Namespace="https://access.redhat.com/security/updates/classification/">Important</AggregateSeverity>
  <DocumentReferences>
    <Reference Type="Self">
       <URL>https://rhn.redhat.com/errata/RHSA-2012-1379.html</URL>
       <Description>https://rhn.redhat.com/errata/RHSA-2012-1379.html</Description>
    </Reference>
    <Reference>
       <URL>https://access.redhat.com/security/updates/classification/#important</URL>
       <Description>https://access.redhat.com/security/updates/classification/#important</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="Red Hat OpenStack">
      <Branch Type="Product Name" Name="RHOS Essex Release">
        <FullProductName ProductID="6Server-Essex">RHOS Essex Release</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="openstack-swift-1.4.8-5.el6">
      <FullProductName ProductID="openstack-swift-1.4.8-5.el6">openstack-swift-1.4.8-5.el6.src.rpm</FullProductName>
    </Branch>
    <Relationship ProductReference="openstack-swift-1.4.8-5.el6" RelationType="Default Component Of" RelatesToProductReference="6Server-Essex">
      <FullProductName ProductID="6Server-Essex:openstack-swift-1.4.8-5.el6">openstack-swift-1.4.8-5.el6 as a component of RHOS Essex Release</FullProductName>
    </Relationship>
  </ProductTree>

  <Vulnerability Ordinal="1" xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1">
    <Notes><Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">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. 
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 &quot;memcache_serialization_support&quot; option. It is configured in &quot;/etc/swift/proxy-server.conf&quot; and is set to &quot;0&quot; by default. This default setting is vulnerable to CVE-2012-4406.
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 &quot;memcache_serialization_support&quot; option. It is configured in &quot;/etc/swift/proxy-server.conf&quot; and is set to &quot;0&quot; by default. This default setting is vulnerable to CVE-2012-4406.
2) In &quot;/etc/swift/proxy-server.conf&quot;, set the &quot;memcache_serialization_support&quot; option in the memcache/[filter:cache] section to &quot;1&quot;. (The default value, &quot;0&quot;, leaves you vulnerable to CVE-2012-4406.) When set to &quot;1&quot;, 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.</Note></Notes>
    <DiscoveryDate>2012-09-05T00:00:00Z</DiscoveryDate>
    <ReleaseDate>2012-05-30T00:00:00Z</ReleaseDate>
    <Involvements><Involvement Party="Vendor" Status="Completed"></Involvement></Involvements>
    <CVE>CVE-2012-4406</CVE>
    <ProductStatuses><Status Type="Fixed">
      <ProductID>6Server-Essex:openstack-swift-1.4.8-5.el6</ProductID>
    </Status></ProductStatuses>
    <Threats><Threat Type="Impact"><Description>Important</Description></Threat></Threats>
    <CVSSScoreSets><ScoreSet>
      <BaseScore>7.5</BaseScore>
      <Vector>AV:N/AC:L/Au:N/C:P/I:P/A:P</Vector>
    </ScoreSet></CVSSScoreSets>
    <Remediations>
      <Remediation Type="Vendor Fix"><Description xml:lang="en">
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
https://access.redhat.com/knowledge/articles/11258    </Description>      <URL>https://rhn.redhat.com/errata/RHSA-2012-1379.html</URL></Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.redhat.com/security/data/cve/CVE-2012-4406.html</URL>
        <Description>CVE-2012-4406</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.redhat.com/show_bug.cgi?id=854757</URL>
        <Description>bz#854757: CVE-2012-4406 Openstack-Swift: insecure use of python pickle()</Description>
      </Reference>
    </References>
    <Acknowledgments><Acknowledgment><Description>Red Hat would like to thank Sebastian Krahmer of the SUSE Security Team for reporting this issue.</Description></Acknowledgment></Acknowledgments>
  </Vulnerability>
</cvrfdoc>
