CVE-2021-3521 Security feature bypass in RPM
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:8 | All versions | 4.14.3-19.el8_5.2 |
rpm-plugin-fapolicyd AlmaLinux:8 | All versions | 4.14.3-19.el8_5.2 |
python3-rpm-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build-libs-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-debugsource Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-devel-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-libs-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-fapolicyd Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-fapolicyd-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-ima-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-prioreset-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-selinux-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-syslog-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-systemd-inhibit-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
rpm-sign-debuginfo Red Hat:enterprise_linux:8::appstream | All versions | 0:4.14.3-19.el8_5.2 |
python3-rpm Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
python3-rpm-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-apidocs Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build-libs Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-build-libs-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-cron Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-debugsource Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-devel Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-devel-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-libs Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-libs-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-fapolicyd-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-ima Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-ima-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-prioreset Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-prioreset-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-selinux Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-selinux-debuginfo Red Hat:enterprise_linux:8::baseos | All versions | 0:4.14.3-19.el8_5.2 |
rpm-plugin-syslog Red Hat:enterprise_linux:8::baseos | All versions | 0: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.
Other vulnerabilities in RPM
Sources
Also known as ALSA-2022:0368, AZL-10637, CLSA-2022-1644869406, CLSA-2026-1777539108, CLSA-2026-1777539405, CLSA-2026-1777545003 and 13 more.