CVE-2021-3521 Security feature bypass in RPM

Medium 4.7 Published Updated

RPM fails to verify OpenPGP subkey binding signatures, allowing attackers to bypass signature checks and install malicious packages if they compromise repositories or keys.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2021-3521?

CVE-2021-3521 is a medium-severity vulnerability in RPM, published on 22 Aug 2022. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

There is a flaw in RPM's signature functionality. OpenPGP subkeys are associated with a primary key via a "binding signature." RPM does not check the binding signature of subkeys prior to importing them. If an attacker is able to add or socially engineer another party to add a malicious subkey to a legitimate public key, RPM could wrongly trust a malicious signature. The greatest impact of this flaw is to data integrity. To exploit this flaw, an attacker must either compromise an RPM repository or convince an administrator to install an untrusted RPM or public key. It is strongly recommended to only use RPMs and public keys from trusted sources.

Weakness: CWE-347

Which versions are affected by CVE-2021-3521?

It affects 1 product.

Linux distribution packages (40)
rpm-build AlmaLinux:8All versions4.14.3-19.el8_5.2
rpm-plugin-fapolicyd AlmaLinux:8All versions4.14.3-19.el8_5.2
python3-rpm-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-build Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-build-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-build-libs-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-debugsource Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-devel-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-libs-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-fapolicyd Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-fapolicyd-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-ima-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-prioreset-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-selinux-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-syslog-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-plugin-systemd-inhibit-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
rpm-sign-debuginfo Red Hat:enterprise_linux:8::appstreamAll versions0:4.14.3-19.el8_5.2
python3-rpm Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
python3-rpm-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-apidocs Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-build-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-build-libs Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-build-libs-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-cron Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-debugsource Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-devel Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-devel-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-libs Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-libs-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-fapolicyd-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-ima Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-ima-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-prioreset Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-prioreset-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-selinux Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-selinux-debuginfo Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2
rpm-plugin-syslog Red Hat:enterprise_linux:8::baseosAll versions0:4.14.3-19.el8_5.2

Products include Rpm Rpm.

How do I fix CVE-2021-3521?

Apply the vendor's patch.

Is CVE-2021-3521 being exploited?

There is no known exploitation of CVE-2021-3521 in the wild and no public exploit code.

Sources

Also known as ALSA-2022:0368, AZL-10637, CLSA-2022-1644869406, CLSA-2026-1777539108, CLSA-2026-1777539405, CLSA-2026-1777545003 and 13 more.

Is CVE-2021-3521 in your software?

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

Check your SBOMs for free