CVE-2020-8945 GPGME Go wrapper contains Use After Free
A use-after-free in the proglottis Go wrapper for GPGME allows attackers to cause crashes or execute code during signature verification.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2020-8945?
CVE-2020-8945 is a high-severity use after free vulnerability in Fedoraproject Fedora, published on 12 Feb 2020. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
The proglottis Go wrapper before 0.1.1 for the GPGME library has a use-after-free, as demonstrated by use for container image pulls by Docker or CRI-O. This leads to a crash or potential code execution during GPG signature verification.
Weakness: CWE-416
Which versions are affected by CVE-2020-8945?
3 open source packages ship an affected version, including github.com/proglottis/gpgme. It affects 9 products.
| Package | Affected | Fixed in |
|---|---|---|
github.com/proglottis/gpgme Go | All versions | 0.1.1 |
github.com/proglottis/gpgme Go | All versions | 0.1.1 |
github.com/proglottis/gpgme Go | All versions | 0.1.1 |
Linux distribution packages (29)
containers-common Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
skopeo Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
skopeo-debuginfo Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
skopeo-debugsource Red Hat:openshift:4.1::el8 | All versions | 1:0.1.32-6.git1715c90.el8_0 |
containers-common Red Hat:openshift:4.2::el8 | All versions | 1:0.1.32-7.git1715c90.rhaos4.2.el8 |
openshift-clients Red Hat:openshift:4.2::el8 | All versions | 0:4.2.32-202005020632.git.1.1b0fab9.el8 |
openshift-clients-redistributable Red Hat:openshift:4.2::el8 | All versions | 0:4.2.32-202005020632.git.1.1b0fab9.el8 |
skopeo Red Hat:openshift:4.2::el8 | All versions | 1:0.1.32-7.git1715c90.rhaos4.2.el8 |
skopeo-debuginfo Red Hat:openshift:4.2::el8 | All versions | 1:0.1.32-7.git1715c90.rhaos4.2.el8 |
skopeo-debugsource Red Hat:openshift:4.2::el8 | All versions | 1:0.1.32-7.git1715c90.rhaos4.2.el8 |
cri-o Red Hat:openshift:4.3::el7 | All versions | 0:1.16.4-1.dev.rhaos4.3.git9238eee.el7 |
cri-o-debuginfo Red Hat:openshift:4.3::el7 | All versions | 0:1.16.4-1.dev.rhaos4.3.git9238eee.el7 |
openshift-clients Red Hat:openshift:4.3::el7 | All versions | 0:4.3.7-202003130552.git.0.6027a27.el7 |
openshift-clients-redistributable Red Hat:openshift:4.3::el7 | All versions | 0:4.3.7-202003130552.git.0.6027a27.el7 |
containers-common Red Hat:openshift:4.3::el8 | All versions | 1:0.1.40-4.rhaos.el8 |
cri-o Red Hat:openshift:4.3::el8 | All versions | 0:1.16.4-1.dev.rhaos4.3.git9238eee.el8 |
cri-o-debuginfo Red Hat:openshift:4.3::el8 | All versions | 0:1.16.4-1.dev.rhaos4.3.git9238eee.el8 |
cri-o-debugsource Red Hat:openshift:4.3::el8 | All versions | 0:1.16.4-1.dev.rhaos4.3.git9238eee.el8 |
openshift-clients Red Hat:openshift:4.3::el8 | All versions | 0:4.3.7-202003130552.git.0.6027a27.el8 |
openshift-clients-redistributable Red Hat:openshift:4.3::el8 | All versions | 0:4.3.7-202003130552.git.0.6027a27.el8 |
skopeo Red Hat:openshift:4.3::el8 | All versions | 1:0.1.40-4.rhaos.el8 |
skopeo-debuginfo Red Hat:openshift:4.3::el8 | All versions | 1:0.1.40-4.rhaos.el8 |
skopeo-debugsource Red Hat:openshift:4.3::el8 | All versions | 1:0.1.40-4.rhaos.el8 |
skopeo-tests Red Hat:openshift:4.3::el8 | All versions | 1:0.1.40-4.rhaos.el8 |
buildah Red Hat:rhel_extras_other:7 | All versions | 0:1.11.6-8.el7_8 |
buildah-debuginfo Red Hat:rhel_extras_other:7 | All versions | 0:1.11.6-8.el7_8 |
containers-common Red Hat:rhel_extras_other:7 | All versions | 1:0.1.40-7.el7_8 |
skopeo Red Hat:rhel_extras_other:7 | All versions | 1:0.1.40-7.el7_8 |
skopeo-debuginfo Red Hat:rhel_extras_other:7 | All versions | 1:0.1.40-7.el7_8 |
Products include Fedoraproject Fedora, Gpgme Project Gpgme, Redhat Enterprise Linux for Ibm Z Systems, Redhat Enterprise Linux for Power Little Endian, Redhat Enterprise Linux Server, Redhat Enterprise Linux Workstation and 3 more.
How do I fix CVE-2020-8945?
Upgrade github.com/proglottis/gpgme to 0.1.1 or later.
Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.
Is CVE-2020-8945 being exploited?
There is no known exploitation of CVE-2020-8945 in the wild and no public exploit code.
Other vulnerabilities in Fedoraproject Fedora
Sources
Also known as DEBIAN-CVE-2020-8945, GHSA-m6wg-2mwg-4rfq, GO-2021-0096, RHBA-2020:1255, RHSA-2020:0679, RHSA-2020:0689 and 6 more.