CVE-2012-4406
OpenStack Object Storage (swift) Code Injection vulnerability
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
9.8
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
CVE-2012-4406- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 7.5 High
AV:N/AC:L/Au:N/C:P/I:P/A:P - Weakness
- CWE-502
- Updated
- 2026-11-02
CVE List No score
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
CVE-2012-4406- Updated
- 2026-11-02
EUVDEUVD-2022-5311 No score
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
EUVD-2022-5311- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-v7mh-3jgf-r26c
9.8
OpenStack Object Storage (swift) Code Injection vulnerability
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
GHSA-v7mh-3jgf-r26c- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-94, CWE-502
- Updated
- 2026-11-02
OSV
9.8
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
CVE-2012-4406- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2012-4406
9.8
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
DEBIAN-CVE-2012-4406- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVGHSA-v7mh-3jgf-r26c
9.8
OpenStack Object Storage (swift) Code Injection vulnerability
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
GHSA-v7mh-3jgf-r26c- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-502, CWE-94
- Updated
- 2026-11-02
OSVPYSEC-2026-545
9.8
OpenStack Object Storage (swift) Code Injection vulnerability
OpenStack Object Storage (swift) before 1.7.0 uses the loads function in the pickle Python module unsafely when storing and loading metadata in memcached, which allows remote attackers to execute arbitrary code via a crafted pickle object.
- Record
PYSEC-2026-545- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
swiftPyPI |
before 1.7.0 | 1.7.0 |
swiftDebian:12 |
before 1.4.8-2 | 1.4.8-2 |
swiftDebian:13 |
before 1.4.8-2 | 1.4.8-2 |
swiftDebian:14 |
before 1.4.8-2 | 1.4.8-2 |
swiftPyPI |
before 1.7.0, plus listed versions 1.0.2 |
1.7.0 |
openstack-swiftRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
openstack-swift-accountRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
openstack-swift-containerRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
openstack-swift-docRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
openstack-swift-objectRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
Show 70 moreShow less
| Package | Affected | Fixed |
|---|---|---|
openstack-swift-proxyRed Hat:openstack:1::el6 |
before 0:1.4.8-5.el6 | 0:1.4.8-5.el6 |
glusterfsRed Hat:storage:2:client:el5 |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-debuginfoRed Hat:storage:2:client:el5 |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-develRed Hat:storage:2:client:el5 |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-fuseRed Hat:storage:2:client:el5 |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-rdmaRed Hat:storage:2:client:el5 |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
applianceRed Hat:storage:2.0:server:el6 |
before 0:1.7.1-1.el6rhs | 0:1.7.1-1.el6rhs |
appliance-baseRed Hat:storage:2.0:server:el6 |
before 0:1.7.1-1.el6rhs | 0:1.7.1-1.el6rhs |
augeasRed Hat:storage:2.0:server:el6 |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-debuginfoRed Hat:storage:2.0:server:el6 |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-develRed Hat:storage:2.0:server:el6 |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-libsRed Hat:storage:2.0:server:el6 |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
gluster-swiftRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-accountRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-containerRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-docRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-objectRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-proxyRed Hat:storage:2.0:server:el6 |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
glusterfsRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-debuginfoRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-develRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-fuseRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-geo-replicationRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-rdmaRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-serverRed Hat:storage:2.0:server:el6 |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
libvirtRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
libvirt-clientRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
libvirt-debuginfoRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
libvirt-develRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
libvirt-lock-sanlockRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
libvirt-pythonRed Hat:storage:2.0:server:el6 |
before 0:0.9.10-21.el6_3.8 | 0:0.9.10-21.el6_3.8 |
rhn-checkRed Hat:storage:2.0:server:el6 |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-client-toolsRed Hat:storage:2.0:server:el6 |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-setupRed Hat:storage:2.0:server:el6 |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-setup-gnomeRed Hat:storage:2.0:server:el6 |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
sanlockRed Hat:storage:2.0:server:el6 |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-debuginfoRed Hat:storage:2.0:server:el6 |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-develRed Hat:storage:2.0:server:el6 |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-libRed Hat:storage:2.0:server:el6 |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-pythonRed Hat:storage:2.0:server:el6 |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sosRed Hat:storage:2.0:server:el6 |
before 0:2.2-17.2.el6rhs | 0:2.2-17.2.el6rhs |
vdsmRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-bootstrapRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-cliRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-debug-pluginRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-debuginfoRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-glusterRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-hook-faqemuRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-hook-vhostmdRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-pythonRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-regRed Hat:storage:2.0:server:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
rhscRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-backendRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-configRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-dbscriptsRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-genericapiRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-jboss-depsRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-notification-serviceRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-restapiRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-setupRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-tools-commonRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-userportalRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-webadmin-portalRed Hat:storage:2.0:console:el6 |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
vdsmRed Hat:storage:2.0:console:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-bootstrapRed Hat:storage:2.0:console:el6 |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
glusterfsRed Hat:storage:3:client:el6 |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-debuginfoRed Hat:storage:3:client:el6 |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-develRed Hat:storage:3:client:el6 |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-fuseRed Hat:storage:3:client:el6 |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-rdmaRed Hat:storage:3:client:el6 |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
History
| Recorded | Changed | Sources |
|---|---|---|
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2012-4406 is a critical vulnerability (CVSS 9.8) in Openstack Swift, published October 22, 2012. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 6.57%, the 93rd percentile. Fixed in swift 1.7.0.
References
github.com/openstack/swift/commit/e1ff51c04554d51616d2845f92ab726cb0e5831a
securityfocus.com/bid/55420
launchpad.net/swift/+milestone/1.7.0
rhn.redhat.com/errata/RHSA-2012-1379.html
exchange.xforce.ibmcloud.com/vulnerabilities/79140
bugs.launchpad.net/swift/+bug/1006414
Show 36 moreShow less
bugzilla.redhat.com/show_bug.cgi?id=854757
openwall.com/lists/oss-security/2012/09/05/4
lists.fedoraproject.org/pipermail/package-announce/2012-October/089472.html
rhn.redhat.com/errata/RHSA-2013-0691.html
openwall.com/lists/oss-security/2012/09/05/16
nvd.nist.gov/vuln/detail/CVE-2012-4406
access.redhat.com/errata/RHSA-2012:1379
access.redhat.com/errata/RHSA-2013:0691
access.redhat.com/security/cve/CVE-2012-4406
web.archive.org/web/20130629092623/http://www.securityfocus.com/bid/55420
github.com/advisories/GHSA-v7mh-3jgf-r26c
security-tracker.debian.org/tracker/CVE-2012-4406
opendev.org/openstack/swift
pypi.org/project/swift
access.redhat.com/security/updates/classification
security.access.redhat.com/data/csaf/v2/advisories/2012/rhsa-2012_1379.json
cve.org/CVERecord?id=CVE-2012-4406
access.redhat.com/knowledge/docs/Red_Hat_Storage
bugzilla.redhat.com/show_bug.cgi?id=856206
bugzilla.redhat.com/show_bug.cgi?id=859387
bugzilla.redhat.com/show_bug.cgi?id=869724
bugzilla.redhat.com/show_bug.cgi?id=876679
bugzilla.redhat.com/show_bug.cgi?id=883590
bugzilla.redhat.com/show_bug.cgi?id=886364
bugzilla.redhat.com/show_bug.cgi?id=887010
bugzilla.redhat.com/show_bug.cgi?id=895841
bugzilla.redhat.com/show_bug.cgi?id=902213
bugzilla.redhat.com/show_bug.cgi?id=922572
bugzilla.redhat.com/show_bug.cgi?id=923674
security.access.redhat.com/data/csaf/v2/advisories/2013/rhsa-2013_0691.json
access.redhat.com/security/cve/CVE-2012-5635
cve.org/CVERecord?id=CVE-2012-5635
nvd.nist.gov/vuln/detail/CVE-2012-5635
access.redhat.com/security/cve/CVE-2012-5638
cve.org/CVERecord?id=CVE-2012-5638
nvd.nist.gov/vuln/detail/CVE-2012-5638