CVE-2020-16156
Description
A flaw was found in the way the perl-CPAN performed verification of package signatures stored in CHECKSUMS files. A malicious or compromised CPAN server used by a user, or a man-in-the-middle attacker, could use this flaw to bypass signature verification.
Statement
This vulnerability is assigned a Moderate Severity rating primarily because of the multistep nature of the attack and the efficacy of environmental security controls. The underlying issue is a serious software flaw, designated as CWE 347: Improper Verification of Cryptographic Signature, which means the system fails to correctly verify the digital authenticity of installation packages, potentially allowing an attacker to insert malicious software into the $\text{CPAN}$ repository. However, successfully exploiting this flaw requires a complex attack chain: the adversary must first gain control of a legitimate $\text{CPAN}$ distribution mirror and then actively deceive a targeted user into initiating an install from that compromised source, which necessitates User Interaction. Although the potential impact of a successful attack is high (leading to a complete compromise of the victim's data and system integrity), the severity is downgraded to Moderate in secure, regulated environments. This is because mandatory defenses such as enforcing secure $\text{HTTPS/TLS}$ connections, implementing Multi Factor Authentication ($\text{MFA}$), adhering to $\text{least privilege}$ access principles, and mandating the use of $\text{FIPS}$ validated cryptographic modules create robust, layered barriers that significantly increase the difficulty of both the required initial compromise and the necessary social engineering of a protected user, thus lowering the overall practical risk.
Mitigation
This issue can be mitigated by configuring perl-CPAN to only use trusted CPAN mirrors (www.cpan.org or cpan.metacpan.org) and use HTTPS for communication with CPAN servers. If you already have a cpan configured, the list of configured mirrors can be viewed by running the `cpan` command without any argument and entering the following command on the cpan command's prompt:
o conf urllist
Ensure that the URL list only includes trusted mirrors and that https:// scheme is used for all URLs. A different set of mirrors can be configured using the following commands (these examples show how to configure one or more mirrors, only one of the commands should be used):
o conf urllist https://www.cpan.org
o conf urllist https://www.cpan.org https://cpan.metacpan.org
After changing configuration, the following command must be used to save the configuration:
o conf commit
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 7.8 | 7.8 | N/A |
| Attack Vector | Local | Local | N/A |
| Attack Complexity | Low | Low | N/A |
| Privileges Required | None | None | N/A |
| User Interaction | Required | Required | N/A |
| Scope | Unchanged | Unchanged | N/A |
| Confidentiality | High | High | N/A |
| Integrity Impact | High | High | N/A |
| Availability Impact | High | High | N/A |
Vector
Red Hat: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
NVD: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Understanding the Weakness (CWE)
Access Control,Integrity,Confidentiality
Technical Impact: Gain Privileges or Assume Identity; Modify Application Data; Execute Unauthorized Code or Commands
An attacker could gain access to sensitive data and possibly execute unauthorized code.
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.