OpenSSL Vulnerabilities CVE-2022-3602 and CVE-2022-3786: What You Need to Know
The OpenSSL Project disclosed two high-severity vulnerabilities in October 2022. Initially labeled critical, here's what they actually mean, who is affected, and what to do.
In late October 2022, the OpenSSL Project made a rare announcement: a critical security update was coming. The last critical OpenSSL vulnerability before this was Heartbleed in 2014 — which affected virtually every HTTPS server on the internet. The security community braced for another Heartbleed.
The reality turned out to be less severe, but still worth understanding and patching promptly.
The Vulnerabilities
CVE-2022-3602 and CVE-2022-3786 are both buffer overflow vulnerabilities in OpenSSL 3.x’s X.509 certificate verification code, specifically in the punycode decoding for name constraint checking.
Both vulnerabilities can be triggered by a specially crafted email address in a TLS client certificate during certificate chain verification.
Who Is Actually Affected?
The impact is more limited than initially feared:
Affected:
- Systems running OpenSSL 3.0.0 through 3.0.6 specifically
- Applications that verify TLS client certificates
- The attack requires the attacker to control a certificate that a vulnerable system will verify
Not affected:
- OpenSSL 1.x (the 1.1.1 series, still widely deployed) — not vulnerable
- Systems that don’t verify client certificates (most HTTPS servers)
- Systems where certificate chains cannot be built to a trusted root
Key limiting factor: A successful attack requires the attacker to obtain a certificate from a CA that the target system trusts, or the target system to be configured to not verify certificates (which creates other problems). Most internet-facing TLS does not enable client certificate verification.
CVE-2022-3602: Buffer Overflow
A 4-byte stack buffer overflow during the decoding of punycode-encoded email addresses in X.509 certificates. On x86-64 systems, this could theoretically enable remote code execution, but researchers found no working RCE exploits — most systems crashed rather than executing attacker-controlled code.
CVE-2022-3786: Buffer Overflow in Email Address Check
A variable-length stack buffer overflow, triggered by a certificate with a specially crafted email address. More reliably triggers a crash (denial of service) than code execution.
Downgraded from Critical to High
The OpenSSL team downgraded both CVEs from Critical to High upon release because:
- OpenSSL 3.x was relatively new (released September 2021 — only 14 months before disclosure)
- Most major Linux distributions still ship OpenSSL 1.1.1 by default
- No working remote code execution exploit was produced
- The exploit requires client certificate verification to be enabled
Am I Running OpenSSL 3.x?
Check your OpenSSL version:
openssl version
If you see OpenSSL 3.0.x, you need to update. OpenSSL 1.1.1 is not affected.
For containerized workloads, check base images:
docker run --rm <image> openssl version
For package manager deployments:
# Debian/Ubuntu
apt list --installed | grep openssl
# RHEL/CentOS/Fedora
rpm -qa | grep openssl
Remediation
Update to OpenSSL 3.0.7 or later:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade openssl libssl3
# RHEL/Rocky/Alma
sudo dnf update openssl
# Arch
sudo pacman -Syu openssl
After updating, restart services that use OpenSSL:
# Find processes using the old openssl library
sudo lsof | grep libssl
# Or use needrestart
sudo needrestart
For compiled applications statically linking OpenSSL, you’ll need to recompile against the patched version.
Prioritization Guidance
Patch immediately:
- Internet-facing services that accept TLS client certificates
- Internal PKI and certificate authority infrastructure
- VPN endpoints that verify client certificates
Patch in regular cycle:
- Most HTTPS web servers (not vulnerable to this specific attack unless client cert auth is enabled)
- Internal services running OpenSSL 3.x
Not affected:
- Services running OpenSSL 1.1.1 or earlier
Broader Lesson: OpenSSL Attack Surface
This episode, like Heartbleed before it, highlights how a vulnerability in a single library can affect millions of systems globally. Maintain an inventory of where OpenSSL (and other cryptographic libraries) are used in your environment, and have a patch process that can deploy critical security updates quickly.
Software Composition Analysis (SCA) tools can help you maintain this inventory and alert you when known CVEs affect dependencies in your codebase.
Related articles
Rust Vulnerabilities: Most Common Issues You Need to Know
While Rust provides memory safety advantages over C/C++, vulnerabilities still emerge — particularly when developers use unsafe code blocks or rely on libraries with security gaps.
Spring4Shell — Critical Remote Code Execution in Spring Framework (CVE-2022-22965)
Spring4Shell is a critical RCE vulnerability (CVSS 9.8) affecting Spring MVC on JDK 9+. Here's what it is, whether you're affected, and how to patch it immediately.
Most Common Java Vulnerabilities and How to Fix Them
Java applications are frequently targeted due to their enterprise prevalence. This guide covers the 13 most common Java vulnerability patterns with detection and remediation examples.
Find vulnerabilities before attackers do
Run Offensive360 SAST and DAST against your applications to catch security issues early.