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 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-debuginfoRed Hat:storage:2:client:el5 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-develRed Hat:storage:2:client:el5 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-fuseRed Hat:storage:2:client:el5 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
glusterfs-rdmaRed Hat:storage:2:client:el5 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el5 | 0:3.3.0.7rhs-1.el5 |
applianceRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.7.1-1.el6rhs | 0:1.7.1-1.el6rhs |
appliance-baseRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.7.1-1.el6rhs | 0:1.7.1-1.el6rhs |
augeasRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-debuginfoRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-develRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
augeas-libsRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:0.9.0-1.el6 | 0:0.9.0-1.el6 |
gluster-swiftRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-accountRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-containerRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-docRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-objectRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
gluster-swift-proxyRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.4.8-5.el6rhs | 0:1.4.8-5.el6rhs |
glusterfsRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-debuginfoRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-develRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-fuseRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-geo-replicationRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-rdmaRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
glusterfs-serverRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6rhs | 0:3.3.0.7rhs-1.el6rhs |
libvirtRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
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 From an advisory covering 3 CVEs |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-client-toolsRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-setupRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
rhn-setup-gnomeRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:1.0.0-73.el6rhs | 0:1.0.0-73.el6rhs |
sanlockRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-debuginfoRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-develRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-libRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sanlock-pythonRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.3-4.el6_3 | 0:2.3-4.el6_3 |
sosRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:2.2-17.2.el6rhs | 0:2.2-17.2.el6rhs |
vdsmRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-bootstrapRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-cliRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-debug-pluginRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-debuginfoRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-glusterRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-hook-faqemuRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-hook-vhostmdRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-pythonRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-regRed Hat:storage:2.0:server:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
rhscRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-backendRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-configRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-dbscriptsRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-genericapiRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-jboss-depsRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-notification-serviceRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-restapiRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-setupRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-tools-commonRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-userportalRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
rhsc-webadmin-portalRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:2.0.techpreview1-4.el6rhs | 0:2.0.techpreview1-4.el6rhs |
vdsmRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
vdsm-bootstrapRed Hat:storage:2.0:console:el6 From an advisory covering 3 CVEs |
before 0:4.9.6-20.el6rhs | 0:4.9.6-20.el6rhs |
glusterfsRed Hat:storage:3:client:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-debuginfoRed Hat:storage:3:client:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-develRed Hat:storage:3:client:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-fuseRed Hat:storage:3:client:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
glusterfs-rdmaRed Hat:storage:3:client:el6 From an advisory covering 3 CVEs |
before 0:3.3.0.7rhs-1.el6 | 0:3.3.0.7rhs-1.el6 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| 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