CVE-2021-3521 json
There is a flaw in RPM's signature functionality.
published 2022-08-22 4 y ago modified 2026-06-17 4 mo ago also EUVD-2021-26837
- cvss
- 4.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 25%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- rpm rpm 4.17.1
- rpm Debian 14, Debian 13, Debian 12 4.18.0+dfsg-1
debian advisories DEBIAN-CVE-2021-3521
- rpm RHEL 8 4.14.3-19.el8_5.2
- rpm-cron RHEL 8 4.14.3-19.el8_5.2
- rpm-libs RHEL 8 4.14.3-19.el8_5.2
- rpm-sign RHEL 8 4.14.3-19.el8_5.2
- rpm-build RHEL 8 4.14.3-19.el8_5.2
- python3-rpm RHEL 8 4.14.3-19.el8_5.2
- rpm-apidocs RHEL 8 4.14.3-19.el8_5.2
- rpm-build-libs RHEL 8 4.14.3-19.el8_5.2
red hat advisories RHSA-2022:0634RHSA-2022:0368RHSA-2022:0254
- rpm SLE Module for Development Tools 15 SP6, SLE Module for Development Tools 15 SP5, SLE Module for Basesystem 15 SP6 +14 more 4.14.3-150400.59.16.1
- rpm-ndb SLE Module for Public Cloud 15 SP6, SLE Module for Public Cloud 15 SP5, SLE Module for Public Cloud 15 SP4 +5 more 4.14.3-150400.59.16.1
- python-rpm SLE Module for Python 3 15 SP6, SLE Module for Python 3 15 SP5, SLE Module for Basesystem 15 SP6 +12 more 4.14.3-150400.59.16.1
suse advisories SUSE-SU-2024:1557-2SUSE-SU-2024:1557-3SUSE-SU-2024:1557-1
- rpm openSUSE Tumbleweed 4.17.1-1.1
opensuse advisories openSUSE-SU-2024:12245-1
- rpm-build AlmaLinux 8 4.14.3-19.el8_5.2
- rpm-plugin-fapolicyd AlmaLinux 8 4.14.3-19.el8_5.2
almalinux advisories ALSA-2022:0368
- rpm Rocky Linux 8 4.14.3-19.el8_5.2
rocky linux advisories RLSA-2022:0368
- rpm Alpine 3.24, Alpine 3.23, Alpine 3.22 +5 more 4.17.1-r0
alpine advisories ALPINE-CVE-2021-3521
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-3521 updated cvss 4.4
rpm: RPM does not require subkeys to have a valid binding signature
-
Red Hat Enterprise Linux 6 rpm, rpm-cron, rpm-libs, rpm-build, rpm-python, rpm-apidocs Red Hat Enterprise Linux 7 rpm, rpm-cron, rpm-libs, rpm-sign, rpm-build, rpm-python, +3 moreaffected: no fix planned “Out of support scope”
-
Red Hat Enterprise Linux AppStream (v. 8) rpm-build 4.14.3-19.el8_5.2, rpm-plugin-fapolicyd 4.14.3-19.el8_5.2fixed: vendor fix RHSA-2022:0368
-
Red Hat Enterprise Linux AppStream EUS (v. 8.2) rpm-build 4.14.2-40.el8_2fixed: vendor fix RHSA-2022:0634
-
Red Hat Enterprise Linux AppStream EUS (v.8.4) rpm-build 4.14.3-14.el8_4.2, rpm-plugin-fapolicyd 4.14.3-14.el8_4.2fixed: vendor fix RHSA-2022:0254
-
Red Hat Enterprise Linux BaseOS (v. 8) rpm 4.14.3-19.el8_5.2, rpm-cron 4.14.3-19.el8_5.2, rpm-libs 4.14.3-19.el8_5.2, rpm-sign 4.14.3-19.el8_5.2, python3-rpm 4.14.3-19.el8_5.2, rpm-apidocs 4.14.3-19.el8_5.2, +6 morefixed: vendor fix RHSA-2022:0368
-
Red Hat Enterprise Linux BaseOS EUS (v. 8.2) rpm 4.14.2-40.el8_2, rpm-cron 4.14.2-40.el8_2, rpm-libs 4.14.2-40.el8_2, rpm-sign 4.14.2-40.el8_2, python3-rpm 4.14.2-40.el8_2, rpm-apidocs 4.14.2-40.el8_2, +6 morefixed: vendor fix RHSA-2022:0634
-
Red Hat Enterprise Linux BaseOS EUS (v.8.4) rpm 4.14.3-14.el8_4.2, rpm-cron 4.14.3-14.el8_4.2, rpm-libs 4.14.3-14.el8_4.2, rpm-sign 4.14.3-14.el8_4.2, python3-rpm 4.14.3-14.el8_4.2, rpm-apidocs 4.14.3-14.el8_4.2, +6 morefixed: vendor fix RHSA-2022:0254
-
Red Hat Enterprise Linux 9 rpm, rpm-cron, rpm-libs, rpm-sign, rpm-build, python3-rpm, +9 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.33% chance of exploitation in the next 30 days, higher than 25% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 4.7 | CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:N |
Affected products
- n/a RPM
Classification
- Weakness
-
- CWE-347 Improper Verification of Cryptographic Signature
References
-
github.com
/rpm-software-management/rpm/pull/1795/
patch, third-party-advisory
-
github.com
/rpm-software-management/rpm/commit/bd36c5dc9fb6d90c46fbfed8c2d67516fc571ec8
patch, third-party-advisory
-
bugzilla.redhat.com
/show_bug.cgi?id=1941098
issue-tracking, patch, third-party-advisory
-
security.gentoo.org
/glsa/202210-22
vendor-advisory, third-party-advisory
-
access.redhat.com
/security/cve/CVE-2021-3521
third-party-advisory
Sources
- CVE List CVE-2021-3521
- NVD CVE-2021-3521
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.