CVE-2022-3602: OpenSSL3 CVE-2022-3602 CVE-2022-3786 vulnerabilities

Published Oct 26, 2022
·
Updated

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Note that this occurs after certificate chain signature verification and requires either a CA to have signed the malicious certificate or for the application to continue certificate verification despite failure to construct a path to a trusted issuer. An attacker can craft a malicious email address to overflow four attacker-controlled bytes on the stack. This buffer overflow could result in a crash (causing a denial of service) or potentially remote code execution.

Many platforms implement stack overflow protections which would mitigate against the risk of remote code execution. The risk may be further mitigated based on stack layout for any given platform/compiler.

Pre-announcements of CVE-2022-3602 described this issue as CRITICAL. Further analysis based on some of the mitigating factors described above have led this to be downgraded to HIGH. Users are still encouraged to upgrade to a new version as soon as possible.

In a TLS client, this can be triggered by connecting to a malicious server. In a TLS server, this can be triggered if the server requests client authentication and a malicious client connects.

Other sources

A buffer overrun can be triggered in X.509 certificate verification, specifically in name constraint checking. Note that this occurs after certificate chain signature verification and requires either a CA to have signed the malicious certificate or for the application to continue certificate verification despite failure to construct a path to a trusted issuer. An attacker can craft a malicious email address to overflow four attacker-controlled bytes on the stack. This buffer overflow could result in a crash (causing a denial of service) or potentially remote code execution.

All versions of the v18.x and v19.x releases lines.

— Node.Js

As per upstream report:

A buffer overrun can be triggered by sending an X.509 certificate with a specially crafted email address field to a vulnerable client or server. This can result in an overflow of four attacker-controlled bytes on the stack. This could result in a crash (causing a denial of service) or possibly result in remote code execution.

The most common situation where this can be triggered is when a server requests client authentication after a malicious client connects. The converse of a client connecting to a malicious server is also believed to be vulnerable in the same manner.

OpenSSL versions 3.0.0 to 3.0.6 are vulnerable to this attack.

OpenSSL 3.0 users should upgrade to OpenSSL 3.0.7.

OpenSSL 1.1.1 and 1.0.2 are not affected by this issue.

— Red Hat

OpenSSL is vulnerable to a stack-based buffer overflow, caused by improper bounds checking during X.509 certificate verification. By using a specially-crafted email address, a remote attacker could overflow a buffer and execute arbitrary code or cause the application to crash.

— IBM

Affected Software

38 affected componentsFixes available
rust/openssl-src>=300.0.0<300.0.11
300.0.11
IBM Cloud Pak for Business Automation<=V22.0.2 - V22.0.2-IF001
IBM Cloud Pak for Business Automation<=V21.0.3 - V21.0.3-IF017
IBM Cloud Pak for Business Automation<=V22.0.1 - V22.0.1-IF006 and later fixes V21.0.2 - V21.0.2-IF012 and later fixesV21.0.1 - V21.0.1-IF007 and later fixesV20.0.1 - V20.0.3 and later fixesV19.0.1 - V19.0.3 and later fixesV18.0.0 - V18.0.2 and later fixes
OpenSSL OpenSSL>=3.0.0<3.0.7
Fedoraproject Fedora=36
Fedoraproject Fedora=37
NetApp Clustered Data ONTAP
Fedoraproject Fedora=26
Fedoraproject Fedora=27
Nodejs Node.js>=18.0.0<18.11.0
Nodejs Node.js=18.12.0
Nodejs Node.js=19.0.0
Node.js Node.js>=18.0.0<18.12.1
18.12.1
Node.js Node.js>=19.0.0<19.0.1
19.0.1
debian/openssl
3.0.20-1~deb12u23.0.22-1~deb12u23.5.7-1~deb13u23.5.7-1~deb13u33.6.5-1
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/nodejs<18.12.1-r0
18.12.1-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl>=3.0.0<3.0.7-r0
3.0.7-r0
alpine/openssl3<3.0.7-r0
3.0.7-r0
alpine/openssl3<3.0.7-r0
3.0.7-r0
debian/openssl<3.0.7-1
3.0.7-1
debian/openssl<3.0.7-1
3.0.7-1
debian/openssl<3.0.7-1
3.0.7-1
redhat/openssl<3.0.7
3.0.7

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade rust/openssl-src to a version that resolves this vulnerability.

    Fixed in 300.0.11
  2. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 18.12.1
  3. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 19.0.1
  4. Upgrade

    Upgrade debian/openssl to a version that resolves this vulnerability.

    Fixed in 3.0.20-1~deb12u2Fixed in 3.0.22-1~deb12u2Fixed in 3.5.7-1~deb13u2Fixed in 3.5.7-1~deb13u3Fixed in 3.6.5-1
  5. Upgrade

    Upgrade alpine/nodejs to a version that resolves this vulnerability.

    Fixed in 18.12.1-r0
  6. Upgrade

    Upgrade alpine/openssl to a version that resolves this vulnerability.

    Fixed in 3.0.7-r0
  7. Upgrade

    Upgrade alpine/openssl3 to a version that resolves this vulnerability.

    Fixed in 3.0.7-r0
  8. Upgrade

    Upgrade debian/openssl to a version that resolves this vulnerability.

    Fixed in 3.0.7-1
  9. Upgrade

    Upgrade redhat/openssl to a version that resolves this vulnerability.

    Fixed in 3.0.7
  10. Upgrade

    Upgrade OpenSSL to a version that resolves this vulnerability.

    Fixed in 3.0.7

Event History

Oct 26, 2022
Data Sourced
via Red Hat·02:05 AM
DescriptionSeverityAffected Software
Oct 28, 2022
Advisory Published
via FortiGuard·12:00 AM
Data Sourced
via FortiGuard·12:00 AM
DescriptionSeverityWeaknessAffected Software
Exploit Published
via GitHub·09:51 AM
Nov 1, 2022
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
DescriptionWeakness
Advisory Published
05:45 PM
Data Sourced
via NVD·06:15 PM
DescriptionSeverityWeaknessAffected Software
Data Sourced
via OSV·06:15 PM
DescriptionSeverityAffected Software
Nov 3, 2022
Data Sourced
via Node.js·12:00 AM
DescriptionSeverity
Nov 4, 2022
Data Sourced
via Node.js·06:05 PM
Affected Software

Parent advisories

This vulnerability appears in the following advisories.

Frequently Asked Questions

1

What is the severity of CVE-2022-3602?

The severity of CVE-2022-3602 is critical with a CVSS score of 9.8.

2

Which software is affected by CVE-2022-3602?

CVE-2022-3602 affects the rust/openssl-src package with versions between 300.0.0 and 300.0.11.

3

How can CVE-2022-3602 be exploited?

CVE-2022-3602 can be exploited by triggering a buffer overrun in X.509 certificate verification during name constraint checking.

4

What is the Common Weakness Enumeration (CWE) ID for CVE-2022-3602?

CVE-2022-3602 has a Common Weakness Enumeration (CWE) ID of 119, 120, and 787.

5

Where can I find more information about CVE-2022-3602?

More information about CVE-2022-3602 can be found in the following references: [GitHub Advisory](https://github.com/rustsec/advisory-db/pull/1452), [Commit on GitHub](https://github.com/alexcrichton/openssl-src-rs/commit/4a31c14f31e1a08c18893a37e304dd1dd4b7daa3), [RustSec Advisory](https://rustsec.org/advisories/RUSTSEC-2022-0064.html).

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203