CVE-2021-3445
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This...
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
NVD Score used
7.5
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
CVE-2021-3445- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - CVSS 2.0
- 5.1 Medium
AV:N/AC:H/Au:N/C:P/I:P/A:P - Weakness
- CWE-347
- Updated
- 2026-11-02
CVE List No score
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
CVE-2021-3445- Weakness
- CWE-347
- Updated
- 2026-11-02
EUVDEUVD-2021-26771 No score
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
EUVD-2021-26771- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-jrcf-96j2-jpvh No score
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This...
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
GHSA-jrcf-96j2-jpvh- Weakness
- CWE-347
- Updated
- 2026-11-02
OSV
7.5
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
CVE-2021-3445- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2021-3445
7.5
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
DEBIAN-CVE-2021-3445- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 10 moreShow less
OSVOESA-2021-1224
8.8
libdnf security update
A Library providing simplified C and Python API to libsolv.
Security Fix(es):
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.(CVE-2021-3445)
- Record
OESA-2021-1224- CVSS 3.1
- 8.8 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRHSA-2021:4464
6.4
Red Hat Security Advisory: dnf security and bug fix update
- Record
RHSA-2021:4464- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVRLSA-2021:4464
6.4
Moderate: dnf security and bug fix update
dnf is a package manager that allows users to manage packages on their systems. It supports RPMs, modules and comps groups & environments.
Security Fix(es):
- libdnf: Signature verification bypass via signature placed in the main RPM header (CVE-2021-3445)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the Rocky Linux 8.5 Release Notes linked from the References section.
- Record
RLSA-2021:4464- CVSS 3.1
- 6.4 Medium
CVSS:3.1/AV:N/AC:H/PR:H/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2021-3445
7.5
A flaw was found in libdnf's signature verification functionality in versions before 0.60.1. This flaw allows an attacker to achieve code execution if they can alter the header information of an RPM package and then trick a user or system into installing it. The highest risk of this vulnerability is to confidentiality, integrity, as well as system availability.
- Record
UBUNTU-CVE-2021-3445- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVALSA-2021:4464 No score
Moderate: dnf security and bug fix update
dnf is a package manager that allows users to manage packages on their systems. It supports RPMs, modules and comps groups & environments.
Security Fix(es):
- libdnf: Signature verification bypass via signature placed in the main RPM header (CVE-2021-3445)
For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
Additional Changes:
For detailed information on changes in this release, see the AlmaLinux Release Notes linked from the References section.
- Record
ALSA-2021:4464- Updated
- 2026-11-02
OSVCLSA-2022-1646666491 No score
Fix of CVE: CVE-2021-3445
- CVE-2021-3445: fix signature verification bypass leading to code execution (RhBug:1932079)
- Record
CLSA-2022-1646666491- Updated
- 2026-11-02
OSVCLSA-2022-1646666523 No score
Fix of CVE: CVE-2021-3445
- CVE-2021-3445: fix signature verification bypass leading to code execution (RhBug:1932079)
- Record
CLSA-2022-1646666523- Updated
- 2026-11-02
OSVCLSA-2026-1779434064 No score
libdnf: Fix of CVE-2021-3445
- CVE-2021-3445: fix signature verification bypass via signature placed in the main RPM header
- Record
CLSA-2026-1779434064- Updated
- 2026-11-02
OSVopenSUSE-SU-2021:2685-1 No score
Security update for libdnf
This update for libdnf fixes the following issues:
- Fixed crash when loading DVD repositories
Update to 0.62.0
- Change order of TransactionItemReason (rh#1921063)
- Add two new comperators for security filters (rh#1918475)
- Apply security filters for candidates with lower priority
- Fix: Goal - translation of messages in global maps
- Enhance description of modular solvables
- Improve performance for module query
- Change mechanism of modular errata applicability (rh#1804234)
- dnf_transaction_commit(): Remove second call to rpmtsSetVSFlags
- Fix a couple of memory leaks
- Fix: Setting of librepo handle in newHandle function
- Remove failsafe data when module is not enabled (rh#1847035)
- Expose librepo's checksum functions via SWIG
- Fix: Mising check of 'hy_split_nevra()' return code
- Do not allow 1 as installonly_limit value (rh#1926261)
- Fix check whether the subkey can be used for signing
- Hardening: add signature check with rpmcliVerifySignatures (CVE-2021-3445, CVE-2021-3421, CVE-2021-20271, rh#1932079, rh#1932089, rh#1932090, bsc#1183779)
- Add a config option sslverifystatus, defaults to false (rh#1814383)
- [context] Add API for distro-sync
- Fix dependency for repo-config-zypp subpackage to work with SLE
Update to 0.60.0
- Fix repo.fresh() implementation
- Fix: Fully set ssl in newHandle function
- [conf] Add options for working with certificates used with proxy
- Apply proxy certificate options
- lock: Switch return-if-fail to assert to quiet gcc -fanalyzer
- build-sys: Clean up message about Python bindings
- Modify module NSVCA parsing - context definition (rh#1926771)
- [context] Fix: dnf_package_is_installonly (rh#1928056)
- Fix problematic language
- Add getApplicablePackages to advisory and isApplicable to advisorymodule
- Keep isAdvisoryApplicable to preserve API
- Run ModulePackageContainerTest tests in tmpdir, merge interdependent
- [context] Support config file option 'proxy_auth_method', defaults 'any'
- Properly handle multiple collections in updateinfo.xml (rh#1804234)
- Support main config file option 'installonlypkgs'
- Support main config file option 'protected_packages'
-
Add repo-config-zypp subpackage to allow easily using Zypper repository configuration
-
Backport support for using certificates for repository authorization
-
Backport another fix for adding controls to installonlypkgs
-
Add patch to move directory for dnf state data to /usr/lib/sysimage
-
Backport fixes to add controls for installonlypkgs and protected_packages
Update to version 0.58.0
- Option: Add reset() method
- Add OptionBinds::getOption() method
- [context] Add dnf_repo_conf_from_gkeyfile() and dnf_repo_conf_reset()
- [context] Add support for options: minrate, throttle, bandwidth, timeout
- [context] Remove g_key_file_get_string() from dnf_repo_set_keyfile_data()
- Allow loading ext metadata even if only cache (solv) is present
- Add ASAN_OPTIONS for test_libdnf_main
- [context,API] Functions for accessing main/global configuration options
- [context,API] Function for adding setopt
- Add getter for modular obsoletes from ModuleMetadata
- Add ModulePackage.getStaticContext() and getRequires()
- Add compatible layer for MdDocuments v2
- Fix modular queries with the new solver
- Improve formatting of error string for modules
- Change mechanism of module conflicts
- Fix load/update FailSafe
Update to version 0.55.2
- Improve performance of query installed() and available()
- Swdb: Add a method to get the current transaction
- [modules] Add special handling for src artifacts (rh#1809314)
- Better msgs if 'basecachedir' or 'proxy_password' isn't set (rh#1888946)
- Add new options module_stream_switch
- Support allow_vendor_change setting in dnf context API
Update to version 0.55.0
- Add vendor to dnf API (rh#1876561)
- Add formatting function for solver error
- Add error types in ModulePackageContainer
- Implement module enable for context part
- Improve string formatting for translation
- Remove…
- Record
openSUSE-SU-2021:2685-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:10934-1 No score
hawkey-man-0.63.1-1.2 on GA media
These are all security issues fixed in the hawkey-man-0.63.1-1.2 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:10934-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libdnf-develAlmaLinux:8 |
before 0.63.0-3.el8 | 0.63.0-3.el8 |
dnfTuxCare:CentOS:8.4 |
before 4.4.2-11.el8.tuxcare.els1 | 4.4.2-11.el8.tuxcare.els1 |
dnf-automaticTuxCare:CentOS:8.4 |
before 4.4.2-11.el8.tuxcare.els1 | 4.4.2-11.el8.tuxcare.els1 |
dnf-dataTuxCare:CentOS:8.4 |
before 4.4.2-11.el8.tuxcare.els1 | 4.4.2-11.el8.tuxcare.els1 |
python3-dnfTuxCare:CentOS:8.4 |
before 4.4.2-11.el8.tuxcare.els1 | 4.4.2-11.el8.tuxcare.els1 |
yumTuxCare:CentOS:8.4 |
before 4.4.2-11.el8.tuxcare.els1 | 4.4.2-11.el8.tuxcare.els1 |
libdnfTuxCare:CentOS:8.4 |
before 0.55.0-7.el8.tuxcare.els1 | 0.55.0-7.el8.tuxcare.els1 |
libdnf-develTuxCare:CentOS:8.4 |
before 0.55.0-7.el8.tuxcare.els1 | 0.55.0-7.el8.tuxcare.els1 |
python3-hawkeyTuxCare:CentOS:8.4 |
before 0.55.0-7.el8.tuxcare.els1 | 0.55.0-7.el8.tuxcare.els1 |
python3-libdnfTuxCare:CentOS:8.4 |
before 0.55.0-7.el8.tuxcare.els1 | 0.55.0-7.el8.tuxcare.els1 |
Show 35 moreShow less
| Package | Affected | Fixed |
|---|---|---|
libdnfTuxCare:RHEL:7 |
before 0.22.5-2.el7_9.tuxcare.els1 | 0.22.5-2.el7_9.tuxcare.els1 |
libdnf-develTuxCare:RHEL:7 |
before 0.22.5-2.el7_9.tuxcare.els1 | 0.22.5-2.el7_9.tuxcare.els1 |
python2-hawkeyTuxCare:RHEL:7 |
before 0.22.5-2.el7_9.tuxcare.els1 | 0.22.5-2.el7_9.tuxcare.els1 |
python2-libdnfTuxCare:RHEL:7 |
before 0.22.5-2.el7_9.tuxcare.els1 | 0.22.5-2.el7_9.tuxcare.els1 |
libdnfDebian:12 |
before 0.55.2-6 | 0.55.2-6 |
libdnfDebian:13 |
before 0.55.2-6 | 0.55.2-6 |
libdnfDebian:14 |
before 0.55.2-6 | 0.55.2-6 |
libdnfopenEuler:20.03-LTS-SP1 |
before 0.48.0-2.oe1 | 0.48.0-2.oe1 |
dnfRed Hat:enterprise_linux:8::baseos |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
dnf-automaticRed Hat:enterprise_linux:8::baseos |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
dnf-dataRed Hat:enterprise_linux:8::baseos |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
dnf-plugins-coreRed Hat:enterprise_linux:8::baseos |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
libdnfRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
libdnf-debuginfoRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
libdnf-debugsourceRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-dnfRed Hat:enterprise_linux:8::baseos |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
python3-dnf-plugin-post-transaction-actionsRed Hat:enterprise_linux:8::baseos |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
python3-dnf-plugin-versionlockRed Hat:enterprise_linux:8::baseos |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
python3-dnf-plugins-coreRed Hat:enterprise_linux:8::baseos |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
python3-hawkeyRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-hawkey-debuginfoRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-libdnfRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-libdnf-debuginfoRed Hat:enterprise_linux:8::baseos |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
yumRed Hat:enterprise_linux:8::baseos |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
yum-utilsRed Hat:enterprise_linux:8::baseos |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
libdnf-debuginfoRed Hat:enterprise_linux:8::crb |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
libdnf-debugsourceRed Hat:enterprise_linux:8::crb |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
libdnf-develRed Hat:enterprise_linux:8::crb |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-hawkey-debuginfoRed Hat:enterprise_linux:8::crb |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
python3-libdnf-debuginfoRed Hat:enterprise_linux:8::crb |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
dnfRocky Linux:8 |
before 0:4.7.0-4.el8 | 0:4.7.0-4.el8 |
dnf-plugins-coreRocky Linux:8 |
before 0:4.0.21-3.el8 | 0:4.0.21-3.el8 |
libdnfRocky Linux:8 |
before 0:0.63.0-3.el8 | 0:0.63.0-3.el8 |
libdnfUbuntu:22.04:LTS |
before 0.55.2-6 | 0.55.2-6 |
libdnfopenSUSE:Leap 15.3 From an advisory covering 3 CVEs |
before 0.62.0-5.3.1 | 0.62.0-5.3.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, products | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2021-3445 is a high vulnerability (CVSS 7.5) in Microsoft Libdnf, published May 19, 2021. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.12%, the 66th percentile. Fixed in libdnf-devel 0.63.0-3.el8.
References
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/G4NL7TNWAHJ6JVRABQUPWHKKCTHUZMNF
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/DPMFGGQ5T6WVFTFX3OKMVTTM5O4EXWZR
bugzilla.redhat.com/show_bug.cgi?id=1932079
nvd.nist.gov/vuln/detail/CVE-2021-3445
lists.fedoraproject.org/archives/list/[email protected]/message/DPMFGGQ5T6WVFTFX3OKMVTTM5O4EXWZR
lists.fedoraproject.org/archives/list/[email protected]/message/G4NL7TNWAHJ6JVRABQUPWHKKCTHUZMNF
Show 45 moreShow less
github.com/advisories/GHSA-jrcf-96j2-jpvh
vulners.com/cve/CVE-2021-3445
errata.cloudlinux.com/centos8.4-els/CLSA-2022-1646666491.html
errata.cloudlinux.com/centos8.4-els/CLSA-2022-1646666523.html
errata.tuxcare.com/els_os/rhel7els/CLSA-2026-1779434064.html
security-tracker.debian.org/tracker/CVE-2021-3445
openeuler.org/en/security/safety-bulletin/detail.html?id=openEuler-SA-2021-1224
access.redhat.com/errata/RHSA-2021:4464
access.redhat.com/security/updates/classification
access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.5_release_notes
bugzilla.redhat.com/show_bug.cgi?id=1804234
bugzilla.redhat.com/show_bug.cgi?id=1818118
bugzilla.redhat.com/show_bug.cgi?id=1847035
bugzilla.redhat.com/show_bug.cgi?id=1893176
bugzilla.redhat.com/show_bug.cgi?id=1898293
bugzilla.redhat.com/show_bug.cgi?id=1904490
bugzilla.redhat.com/show_bug.cgi?id=1906970
bugzilla.redhat.com/show_bug.cgi?id=1913962
bugzilla.redhat.com/show_bug.cgi?id=1914827
bugzilla.redhat.com/show_bug.cgi?id=1918475
bugzilla.redhat.com/show_bug.cgi?id=1926261
bugzilla.redhat.com/show_bug.cgi?id=1926771
bugzilla.redhat.com/show_bug.cgi?id=1929163
bugzilla.redhat.com/show_bug.cgi?id=1929667
bugzilla.redhat.com/show_bug.cgi?id=1934499
bugzilla.redhat.com/show_bug.cgi?id=1940345
bugzilla.redhat.com/show_bug.cgi?id=1951409
bugzilla.redhat.com/show_bug.cgi?id=1951411
bugzilla.redhat.com/show_bug.cgi?id=1951414
bugzilla.redhat.com/show_bug.cgi?id=1957280
bugzilla.redhat.com/show_bug.cgi?id=1961632
bugzilla.redhat.com/show_bug.cgi?id=1961633
bugzilla.redhat.com/show_bug.cgi?id=1961634
bugzilla.redhat.com/show_bug.cgi?id=1967454
security.access.redhat.com/data/csaf/v2/advisories/2021/rhsa-2021_4464.json
access.redhat.com/security/cve/CVE-2021-3445
cve.org/CVERecord?id=CVE-2021-3445
errata.rockylinux.org/RLSA-2021:4464
ubuntu.com/security/CVE-2021-3445
github.com/rpm-software-management/libdnf/commit/930f2582f91077b3f338b84cf9567559d52713de
lists.opensuse.org/archives/list/[email protected]/thread/PUJW4L55UGKEL4ROYV7WZNQDNBJXXLLG
bugzilla.suse.com/1183779
suse.com/security/cve/CVE-2021-20271
suse.com/security/cve/CVE-2021-3421
suse.com/security/cve/CVE-2021-3445
Left out here: the rest of 1 source description. The JSON record has them.