GHSA-8hfj-xrj2-pm22 BIT-node-2021-3450 BIT-node-min-2021-3450 CVE-2021-3450 RUSTSEC-2021-0056
Certificate check bypass in openssl-src
- Severity
- 7.4 / 10
- High · CVSS 3.1
- Exploit chance (EPSS)
- 18.34%
- Chance of exploitation in the next 30 days. Higher than 97.23% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-295 Improper Certificate Validation
- Fix
111.15.0- Upgrade openssl-src to this version or later
Description
The X509_V_FLAG_X509_STRICT flag enables additional security checks of the certificates present in a certificate chain. It is not set by default. Starting from OpenSSL version 1.1.1h a check to disallow certificates in the chain that have explicitly encoded elliptic curve parameters was added as an additional strict check. An error in the implementation of this check meant that the result of a previous check to confirm that certificates in the chain are valid CA certificates was overwritten. This effectively bypasses the check that non-CA certificates must not be able to issue other certificates. If a "purpose" has been configured then there is a subsequent opportunity for checks that the certificate is a valid CA. All of the named "purpose" values implemented in libcrypto perform this check. Therefore, where a purpose is set the certificate chain will still be rejected even when the strict flag has been used. A purpose is set by default in libssl client and server certificate verification routines, but it can be overridden or removed by an application. In order to be affected, an application must explicitly set the X509_V_FLAG_X509_STRICT verification flag and either not set a purpose for the certificate verification or, in the case of TLS client or server applications, override the default purpose. OpenSSL versions 1.1.1h and newer are affected by this issue. Users of these versions should upgrade to OpenSSL 1.1.1k. OpenSSL 1.0.2 is not impacted by this issue. Fixed in OpenSSL 1.1.1k (Affected 1.1.1h-1.1.1j).
Affected versions
crates.io
| Package | Vulnerable | Fixed in |
|---|---|---|
| openssl-src | >= 111.11.0, < 111.15.0 |
111.15.0 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
openssl-src crates.io → 111.15.0
- cargo
cargo update -p openssl-src --precise 111.15.0
Severity breakdown
CVSS 3.1 7.4
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
- Attack vector
- Network
- Attack complexity
- High
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Weakness
CWE-295: Improper Certificate Validation
The product does not validate, or incorrectly validates, a certificate.
How to prevent it
- Architecture and Design, Implementation: Certificates should be carefully managed and checked to assure that data are encrypted with the intended owner's public key.
- Implementation: If certificate pinning is being used, ensure that all relevant properties of the certificate are fully validated before the certificate is pinned, including the hostname.
References
Advisories
Packages
Other links
- tenable.com/security/tns-2021-09
- tenable.com/security/tns-2021-08
- tenable.com/security/tns-2021-05
- oracle.com/security-alerts/cpuoct2021.html
- oracle.com/security-alerts/cpujul2022.html
- oracle.com/security-alerts/cpuapr2022.html
- oracle.com/security-alerts/cpuApr2021.html
- oracle.com//security-alerts/cpujul2021.html
- openssl.org/news/secadv/20210325.txt
- tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-openssl-2021-…
- security.netapp.com/advisory/ntap-20210326-0006
- security.gentoo.org/glsa/202103-03
- security.FreeBSD.org/advisories/FreeBSD-SA-21:07.openssl.asc
- rustsec.org/advisories/RUSTSEC-2021-0056.html
- psirt.global.sonicwall.com/vuln-detail/SNWLID-2021-0013
- mta.openssl.org/pipermail/openssl-announce/2021-March/000198.html
- lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CCBFL…
- kc.mcafee.com/corporate/index
- kb.pulsesecure.net/articles/Pulse_Security_Advisories/SA44845
- git.openssl.org/gitweb
- cert-portal.siemens.com/productcert/pdf/ssa-389290.pdf
- openwall.com/lists/oss-security/2021/03/27/1
- openwall.com/lists/oss-security/2021/03/27/2
- openwall.com/lists/oss-security/2021/03/28/3
- openwall.com/lists/oss-security/2021/03/28/4
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-w67w-mw4j-8qrv openssl-src contains Read Buffer Overflow in X.509 Name Constraint | Medium | Also affects openssl-src |
| GHSA-vrh7-x64v-7vxq openssl-src contains `NULL` dereference during PKCS7 data verification | High | Also affects openssl-src |
| GHSA-vxrh-cpg7-8vjr openssl-src subject to NULL dereference validating DSA public key | High | Also affects openssl-src |
| GHSA-r7jw-wp68-3xch openssl-src vulnerable to Use-after-free following `BIO_new_NDEF` | High | Also affects openssl-src |
| GHSA-v5w6-wcm8-jm4q openssl-src contains Double free after calling `PEM_read_bio_ex` | High | Also affects openssl-src |
| GHSA-p52g-cm5j-mjv4 openssl-src subject to Timing Oracle in RSA Decryption | Medium | Also affects openssl-src |
| GHSA-29xx-hcv2-c4cp openssl-src subject to Invalid pointer dereference in `d2i_PKCS7` functions | High | Also affects openssl-src |
| GHSA-x4qr-2fvf-3mr5 Vulnerable OpenSSL included in cryptography wheels | High | Also affects openssl-src |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor