Every CVE Search/ Get API key

CVE-2021-20319

coreos-installer improperly verifies GPG signature when decompressing gzipped artifact

7.8 HighFix available

An improper signature verification vulnerability was found in coreos-installer. A specially crafted gzip installation image can bypass the image signature verification and as a consequence can lead to the installation of unsigned content. An attacker able to modify the original installation image can write arbitrary data, and achieve full access to the node being installed.

Attack profile

How easy it is to exploit

Attack vector
Local
Complexity
Low
Privileges needed
None
User interaction
Required

What an attacker can affect

Confidentiality
High
Integrity
High
Availability
High

Exploit likelihood

0.52%Down 0.4 points since Mar 5, 2022
90%50%10%1%

What each source reports

NVD Score used 7.8

An improper signature verification vulnerability was found in coreos-installer. A specially crafted gzip installation image can bypass the image signature verification and as a consequence can lead to the installation of unsigned content. An attacker able to modify the original installation image can write arbitrary data, and achieve full access to the node being installed.

Record
CVE-2021-20319
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CVSS 2.0
6.8 MediumAV:N/AC:M/Au:N/C:P/I:P/A:P
Weakness
CWE-347
Updated
2026-11-02
CVE List No score

An improper signature verification vulnerability was found in coreos-installer. A specially crafted gzip installation image can bypass the image signature verification and as a consequence can lead to the installation of unsigned content. An attacker able to modify the original installation image can write arbitrary data, and achieve full access to the node being installed.

Record
CVE-2021-20319
Weakness
CWE-347
Updated
2026-11-02
EUVDEUVD-2021-2149 No score

An improper signature verification vulnerability was found in coreos-installer. A specially crafted gzip installation image can bypass the image signature verification and as a consequence can lead to the installation of unsigned content. An attacker able to modify the original installation image can write arbitrary data, and achieve full access to the node being installed.

Record
EUVD-2021-2149
Updated
2026-11-03
GitHub AdvisoriesGHSA-3r3g-g73x-g593 7.8

coreos-installer improperly verifies GPG signature when decompressing gzipped artifact

Impact

coreos-installer fails to correctly verify GPG signatures when decompressing gzip-compressed artifacts. This allows bypass of signature verification in cases where coreos-installer decompresses a downloaded OS image, allowing an attacker who can modify the OS image to compromise a newly-installed system.

Default installations from ISO or PXE media in Fedora CoreOS, RHEL CoreOS, and RHEL for Edge are not affected, as coreos-installer installs from an OS image shipped as part of the install media.

These flows are affected:

  1. Installing with --image-file, --image-url, or coreos.inst.image_url. For example, if a user has a local mirror of installation images, an attacker could replace an image with a gzip-compressed alternative (even if the file extension is .xz). The result:

    $ coreos-installer install --image-url http://localhost:8080/image.xz /dev/loop0
    Downloading image from http://localhost:8080/image.xz
    Downloading signature from http://localhost:8080/image.xz.sig
    > Read disk 749.9 MiB/749.9 MiB (100%)
    gpg: Signature made Mon 20 Sep 2021 02:41:50 PM EDT
    gpg: using RSA key 8C5BA6990BDB26E19F2A1A801161AE6945719A39
    gpg: BAD signature from "Fedora (34) <[email protected]>" [ultimate]
    Install complete.
    

    Notice that GPG reports a bad signature, but coreos-installer continues anyway. Automation that relies on coreos-installer's exit status will not notice either.

  2. coreos-installer download --decompress --image-url:

    $ coreos-installer download --decompress --image-url http://localhost:8080/image.xz
    > Read disk 749.9 MiB/749.9 MiB (100%)
    gpg: Signature made Mon 20 Sep 2021 02:41:50 PM EDT
    gpg: using RSA key 8C5BA6990BDB26E19F2A1A801161AE6945719A39
    gpg: BAD signature from "Fedora (34) <[email protected]>" [ultimate]
    ./image
    

    Again, coreos-installer reports success.

  3. Installing with default parameters, when not installing from the image built into live ISO or PXE media, if the hosting service is compromised or if an active attacker gains control of the HTTPS response.

  4. coreos-installer download --decompress if the hosting service is compromised or if an active attacker gains control of the HTTPS response.

Patches

The vulnerability is fixed in coreos-installer 0.10.1.

Workarounds

For coreos-installer download, do not use the -d or --decompress options.

For coreos-installer install, manually inspect the stderr output. If BAD signature appears, do not boot from the target disk. Note, however, that some OS services may have already accessed data on the compromised disk.

References

For more information, see PR 655.

For more information

If you have any questions or comments about this advisory, open an issue in coreos-installer or email the CoreOS development mailing list.

Record
GHSA-3r3g-g73x-g593
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-347
Updated
2026-11-02
OSV 7.8

An improper signature verification vulnerability was found in coreos-installer. A specially crafted gzip installation image can bypass the image signature verification and as a consequence can lead to the installation of unsigned content. An attacker able to modify the original installation image can write arbitrary data, and achieve full access to the node being installed.

Record
CVE-2021-20319
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVGHSA-3r3g-g73x-g593 7.8

coreos-installer improperly verifies GPG signature when decompressing gzipped artifact

Impact

coreos-installer fails to correctly verify GPG signatures when decompressing gzip-compressed artifacts. This allows bypass of signature verification in cases where coreos-installer decompresses a downloaded OS image, allowing an attacker who can modify the OS image to compromise a newly-installed system.

Default installations from ISO or PXE media in Fedora CoreOS, RHEL CoreOS, and RHEL for Edge are not affected, as coreos-installer installs from an OS image shipped as part of the install media.

These flows are affected:

  1. Installing with --image-file, --image-url, or coreos.inst.image_url. For example, if a user has a local mirror of installation images, an attacker could replace an image with a gzip-compressed alternative (even if the file extension is .xz). The result:

    $ coreos-installer install --image-url http://localhost:8080/image.xz /dev/loop0
    Downloading image from http://localhost:8080/image.xz
    Downloading signature from http://localhost:8080/image.xz.sig
    > Read disk 749.9 MiB/749.9 MiB (100%)
    gpg: Signature made Mon 20 Sep 2021 02:41:50 PM EDT
    gpg: using RSA key 8C5BA6990BDB26E19F2A1A801161AE6945719A39
    gpg: BAD signature from "Fedora (34) <[email protected]>" [ultimate]
    Install complete.
    

    Notice that GPG reports a bad signature, but coreos-installer continues anyway. Automation that relies on coreos-installer's exit status will not notice either.

  2. coreos-installer download --decompress --image-url:

    $ coreos-installer download --decompress --image-url http://localhost:8080/image.xz
    > Read disk 749.9 MiB/749.9 MiB (100%)
    gpg: Signature made Mon 20 Sep 2021 02:41:50 PM EDT
    gpg: using RSA key 8C5BA6990BDB26E19F2A1A801161AE6945719A39
    gpg: BAD signature from "Fedora (34) <[email protected]>" [ultimate]
    ./image
    

    Again, coreos-installer reports success.

  3. Installing with default parameters, when not installing from the image built into live ISO or PXE media, if the hosting service is compromised or if an active attacker gains control of the HTTPS response.

  4. coreos-installer download --decompress if the hosting service is compromised or if an active attacker gains control of the HTTPS response.

Patches

The vulnerability is fixed in coreos-installer 0.10.1.

Workarounds

For coreos-installer download, do not use the -d or --decompress options.

For coreos-installer install, manually inspect the stderr output. If BAD signature appears, do not boot from the target disk. Note, however, that some OS services may have already accessed data on the compromised disk.

References

For more information, see PR 655.

For more information

If you have any questions or comments about this advisory, open an issue in coreos-installer or email the CoreOS development mailing list.

Record
GHSA-3r3g-g73x-g593
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Weakness
CWE-347
Updated
2026-11-02
Show 6 moreShow less
OSVRHSA-2021:3926 7.5

Red Hat Security Advisory: OpenShift Container Platform 4.8.17 security and bug fix update

Record
RHSA-2021:3926
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:3930 7.5

Red Hat Security Advisory: OpenShift Container Platform 4.7.36 security and bug fix update

Record
RHSA-2021:3930
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:3934 7.5

Red Hat Security Advisory: OpenShift Container Platform 4.9.4 packages and security update

Record
RHSA-2021:3934
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2021:4008 7.5

Red Hat Security Advisory: OpenShift Container Platform 4.6.49 security update

Record
RHSA-2021:4008
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02
OSVRHSA-2022:0055 9.0

Red Hat Security Advisory: OpenShift Container Platform 4.10.3 bug fix and security update

Record
RHSA-2022:0055
CVSS 3.1
9.0 CriticalCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
Updated
2026-11-02
OSVRUSTSEC-2022-0103 7.8

Incorrect signature verification on gzip-compressed install images

The coreos-installer is a program to fetch a disk image and stream it to a target disk.

During the installation process the installation image gpg signatures are verified.

The signature verification can be bypassed for gzip-compressed images due to a flaw in gzip coreos-installer wrapper.

When the decoder encounters the gzip trailer, it signals EOF to its output and does not continue reading from its input. As a result, earlier wrappers don't notice that they've reached EOF.

In particular, the GPG wrapper does not check the exit code of GPG.

Thus, if an attacker can substitute an attacker-controlled gzipped disk image, installation will complete successfully without a valid signature.

This vulnerability impacts only specific, User-Provisioned Infrastructure (UPI) installation methods where coreos-installer is used and where gzip-compressed images are configured as the installation source.

The Installer-Provisioned Infrastructure (IPI) bare-metal installs do use coreos-installer, but this installation method uses an install image embedded in the live OS image (ISO or PXE image), therefore is not affected by this vulnerability.

This vulnerability is specific to some upstream Fedora CoreOS installation flows.

Record
RUSTSEC-2022-0103
CVSS 3.1
7.8 HighCVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
coreos-installer
crates.io
before 0.10.1
0.10.1
coreos-installer
Red Hat:openshift:4.8::el8
before 0:0.9.0-7.rhaos4.8.el8
0:0.9.0-7.rhaos4.8.el8
coreos-installer-bootinfra
Red Hat:openshift:4.8::el8
before 0:0.9.0-7.rhaos4.8.el8
0:0.9.0-7.rhaos4.8.el8
coreos-installer-bootinfra-debuginfo
Red Hat:openshift:4.8::el8
before 0:0.9.0-7.rhaos4.8.el8
0:0.9.0-7.rhaos4.8.el8
coreos-installer-debuginfo
Red Hat:openshift:4.8::el8
before 0:0.9.0-7.rhaos4.8.el8
0:0.9.0-7.rhaos4.8.el8
coreos-installer-debugsource
Red Hat:openshift:4.8::el8
before 0:0.9.0-7.rhaos4.8.el8
0:0.9.0-7.rhaos4.8.el8
coreos-installer
Red Hat:openshift:4.7::el8
before 0:0.8.0-4.rhaos4.7.el8
0:0.8.0-4.rhaos4.7.el8
coreos-installer-bootinfra
Red Hat:openshift:4.7::el8
before 0:0.8.0-4.rhaos4.7.el8
0:0.8.0-4.rhaos4.7.el8
coreos-installer-bootinfra-debuginfo
Red Hat:openshift:4.7::el8
before 0:0.8.0-4.rhaos4.7.el8
0:0.8.0-4.rhaos4.7.el8
coreos-installer-debuginfo
Red Hat:openshift:4.7::el8
before 0:0.8.0-4.rhaos4.7.el8
0:0.8.0-4.rhaos4.7.el8
Show 32 moreShow less
Affected packages
PackageAffectedFixed
coreos-installer-debugsource
Red Hat:openshift:4.7::el8
before 0:0.8.0-4.rhaos4.7.el8
0:0.8.0-4.rhaos4.7.el8
coreos-installer
Red Hat:openshift:4.9::el8
before 0:0.10.1-1.rhaos4.9.el8
0:0.10.1-1.rhaos4.9.el8
coreos-installer-bootinfra
Red Hat:openshift:4.9::el8
before 0:0.10.1-1.rhaos4.9.el8
0:0.10.1-1.rhaos4.9.el8
coreos-installer-bootinfra-debuginfo
Red Hat:openshift:4.9::el8
before 0:0.10.1-1.rhaos4.9.el8
0:0.10.1-1.rhaos4.9.el8
coreos-installer-debuginfo
Red Hat:openshift:4.9::el8
before 0:0.10.1-1.rhaos4.9.el8
0:0.10.1-1.rhaos4.9.el8
coreos-installer-debugsource
Red Hat:openshift:4.9::el8
before 0:0.10.1-1.rhaos4.9.el8
0:0.10.1-1.rhaos4.9.el8
coreos-installer
Red Hat:openshift:4.6::el8
before 0:0.6.0-4.rhaos4.6.el8
0:0.6.0-4.rhaos4.6.el8
coreos-installer-bootinfra
Red Hat:openshift:4.6::el8
before 0:0.6.0-4.rhaos4.6.el8
0:0.6.0-4.rhaos4.6.el8
coreos-installer-bootinfra-debuginfo
Red Hat:openshift:4.6::el8
before 0:0.6.0-4.rhaos4.6.el8
0:0.6.0-4.rhaos4.6.el8
coreos-installer-debuginfo
Red Hat:openshift:4.6::el8
before 0:0.6.0-4.rhaos4.6.el8
0:0.6.0-4.rhaos4.6.el8
coreos-installer-debugsource
Red Hat:openshift:4.6::el8
before 0:0.6.0-4.rhaos4.6.el8
0:0.6.0-4.rhaos4.6.el8
jenkins
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:2.319.2.1643288987-1.el8
0:2.319.2.1643288987-1.el8
coreos-installer
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:0.12.0-1.rhaos4.10.el8
0:0.12.0-1.rhaos4.10.el8
coreos-installer-bootinfra
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:0.12.0-1.rhaos4.10.el8
0:0.12.0-1.rhaos4.10.el8
coreos-installer-bootinfra-debuginfo
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:0.12.0-1.rhaos4.10.el8
0:0.12.0-1.rhaos4.10.el8
coreos-installer-debuginfo
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:0.12.0-1.rhaos4.10.el8
0:0.12.0-1.rhaos4.10.el8
coreos-installer-debugsource
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:0.12.0-1.rhaos4.10.el8
0:0.12.0-1.rhaos4.10.el8
jenkins-2-plugins
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:4.10.1643404185-1.el8
0:4.10.1643404185-1.el8
cri-o
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:1.23.0-92.rhaos4.10.gitdaab4d1.el7
0:1.23.0-92.rhaos4.10.gitdaab4d1.el7
cri-o-debuginfo
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:1.23.0-92.rhaos4.10.gitdaab4d1.el7
0:1.23.0-92.rhaos4.10.gitdaab4d1.el7
cri-o
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
cri-o-debuginfo
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
cri-o-debugsource
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
0:1.23.1-9.rhaos4.10.gitbdffb9a.el8
openshift
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el7
0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el7
openshift-clients
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el7
0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el7
openshift-clients-redistributable
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el7
0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el7
openshift-hyperkube
Red Hat:openshift:4.10::el7
From an advisory covering 24 CVEs
before 0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el7
0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el7
openshift
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
openshift-clients
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
openshift-clients-redistributable
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
0:4.10.0-202202160023.p0.gf93da17.assembly.stream.el8
openshift-hyperkube
Red Hat:openshift:4.10::el8
From an advisory covering 24 CVEs
before 0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
0:4.10.0-202202250816.p0.ge419edf.assembly.stream.el8
coreos-installer
crates.io
0.0.0-0 up to 0.10.1
0.10.1

History

History
RecordedChangedSources
affected, facts
aliasesEUVD
first indexedCVE List, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2021-20319 is a high vulnerability (CVSS 7.8) in Redhat Coreos-installer, published October 12, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.52%, the 44th percentile. Fixed in coreos-installer 0.10.1.

References

Show 121 moreShow less
MoveEnter Open