CVE-2020-8945 GPGME Go wrapper contains Use After Free

High 7.5 Published Updated

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.

PackageAffectedFixed in
github.com/proglottis/gpgme GoAll versions0.1.1
github.com/proglottis/gpgme GoAll versions0.1.1
github.com/proglottis/gpgme GoAll versions0.1.1
Linux distribution packages (29)
containers-common Red Hat:openshift:4.1::el8All versions1:0.1.32-6.git1715c90.el8_0
skopeo Red Hat:openshift:4.1::el8All versions1:0.1.32-6.git1715c90.el8_0
skopeo-debuginfo Red Hat:openshift:4.1::el8All versions1:0.1.32-6.git1715c90.el8_0
skopeo-debugsource Red Hat:openshift:4.1::el8All versions1:0.1.32-6.git1715c90.el8_0
containers-common Red Hat:openshift:4.2::el8All versions1:0.1.32-7.git1715c90.rhaos4.2.el8
openshift-clients Red Hat:openshift:4.2::el8All versions0:4.2.32-202005020632.git.1.1b0fab9.el8
openshift-clients-redistributable Red Hat:openshift:4.2::el8All versions0:4.2.32-202005020632.git.1.1b0fab9.el8
skopeo Red Hat:openshift:4.2::el8All versions1:0.1.32-7.git1715c90.rhaos4.2.el8
skopeo-debuginfo Red Hat:openshift:4.2::el8All versions1:0.1.32-7.git1715c90.rhaos4.2.el8
skopeo-debugsource Red Hat:openshift:4.2::el8All versions1:0.1.32-7.git1715c90.rhaos4.2.el8
cri-o Red Hat:openshift:4.3::el7All versions0:1.16.4-1.dev.rhaos4.3.git9238eee.el7
cri-o-debuginfo Red Hat:openshift:4.3::el7All versions0:1.16.4-1.dev.rhaos4.3.git9238eee.el7
openshift-clients Red Hat:openshift:4.3::el7All versions0:4.3.7-202003130552.git.0.6027a27.el7
openshift-clients-redistributable Red Hat:openshift:4.3::el7All versions0:4.3.7-202003130552.git.0.6027a27.el7
containers-common Red Hat:openshift:4.3::el8All versions1:0.1.40-4.rhaos.el8
cri-o Red Hat:openshift:4.3::el8All versions0:1.16.4-1.dev.rhaos4.3.git9238eee.el8
cri-o-debuginfo Red Hat:openshift:4.3::el8All versions0:1.16.4-1.dev.rhaos4.3.git9238eee.el8
cri-o-debugsource Red Hat:openshift:4.3::el8All versions0:1.16.4-1.dev.rhaos4.3.git9238eee.el8
openshift-clients Red Hat:openshift:4.3::el8All versions0:4.3.7-202003130552.git.0.6027a27.el8
openshift-clients-redistributable Red Hat:openshift:4.3::el8All versions0:4.3.7-202003130552.git.0.6027a27.el8
skopeo Red Hat:openshift:4.3::el8All versions1:0.1.40-4.rhaos.el8
skopeo-debuginfo Red Hat:openshift:4.3::el8All versions1:0.1.40-4.rhaos.el8
skopeo-debugsource Red Hat:openshift:4.3::el8All versions1:0.1.40-4.rhaos.el8
skopeo-tests Red Hat:openshift:4.3::el8All versions1:0.1.40-4.rhaos.el8
buildah Red Hat:rhel_extras_other:7All versions0:1.11.6-8.el7_8
buildah-debuginfo Red Hat:rhel_extras_other:7All versions0:1.11.6-8.el7_8
containers-common Red Hat:rhel_extras_other:7All versions1:0.1.40-7.el7_8
skopeo Red Hat:rhel_extras_other:7All versions1:0.1.40-7.el7_8
skopeo-debuginfo Red Hat:rhel_extras_other:7All versions1: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.

All Fedoraproject Fedora vulnerabilities

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.

Is CVE-2020-8945 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free