← Back to Feed CACHED · 2026-09-16 09:58:21 · CACHE_KEY tenable:184811
tenable:184811 · CWE-476 · Disclosed 2023-11-06

OpenSSL 1.1.1 < 1.1.1x Multiple Vulnerabilities

ASSESSED — NOISGATE
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Handing someone a booby-trapped envelope that crashes the mailroom but never steals anything inside

CVE-2023-5678 (CVSS 5.3) causes excessive CPU consumption when OpenSSL processes crafted X9.42 DH parameters via DH_generate_key() or DH_check_pub_key(). CVE-2024-0727 (CVSS 5.5) triggers a NULL pointer dereference crash when parsing a maliciously formatted PKCS12 file through PKCS12_parse() and related APIs. Both are denial-of-service only — no confidentiality or integrity impact. Affected: OpenSSL 1.1.1 through 1.1.1w. Fixed in 1.1.1x (premium extended support release). Note that OpenSSL 1.1.1 reached community EOL in September 2023; 1.1.1x is only available to paid extended-support customers via vendors like SafeLogic or HeroDevs.

The vendor MEDIUM rating is accurate and, if anything, slightly generous. Both CVEs require either local access or user interaction — an attacker must convince a victim process to load a crafted PKCS12 file or DH parameter set. The impact ceiling is application crash or CPU stall; there is no path to code execution, privilege escalation, or data exfiltration. Tenable's own VPR score of 3.0 (23rd percentile) confirms these sit at the low end of MEDIUM. The main complicating factor is that OpenSSL 1.1.1 is EOL: no more community patches are coming, so the real risk is the *next* vuln in this branch, not these two specifically.

"Two DoS-only flaws in EOL OpenSSL 1.1.1 — no code exec, no data breach, needs local interaction"
02 · The Attack Path

3 steps from start to impact.

STEP 01

Attacker crafts malicious input

The attacker creates either a PKCS12 file with NULL fields where OpenSSL expects populated values (CVE-2024-0727) or X9.42 DH parameters with excessively large P/Q values (CVE-2023-5678). No special tooling is needed — these are trivial to construct with a hex editor or OpenSSL's own ASN.1 tooling.
Conditions required:
  • Knowledge of the PKCS12/DH parameter format
  • Target application processes externally supplied PKCS12 or DH parameter files
Where this breaks in practice:
  • Most server-side OpenSSL deployments use pre-configured certificates and DH params, not user-supplied ones
  • PKCS12 file processing typically happens during provisioning, not at runtime
STEP 02

Malicious file delivered to victim application

The crafted file must reach an OpenSSL-linked application that calls the affected parsing functions. For CVE-2024-0727 this means an app calling PKCS12_parse() on untrusted input. For CVE-2023-5678, DH_check_pub_key() or DH_generate_key() on attacker-controlled parameters. This requires either local file access or convincing a user/service to load the file.
Conditions required:
  • Application must accept externally supplied PKCS12 or DH parameter files
  • Local access or social engineering to deliver the file
Where this breaks in practice:
  • Enterprise TLS servers load certs from trusted stores, not user uploads
  • Certificate management workflows rarely accept PKCS12 from untrusted sources
  • DH parameters are typically generated locally, not accepted from remote peers in modern TLS
Detection/coverage: EDR file-write telemetry can flag unusual .p12/.pfx file creation in certificate directories
STEP 03

Application crashes or stalls

When the vulnerable OpenSSL code path processes the crafted input, it either dereferences a NULL pointer (CVE-2024-0727, instant crash) or enters an excessively long computation loop (CVE-2023-5678, CPU stall). The impact is denial of service for that specific process. If the process has a watchdog or auto-restart, the outage is transient.
Conditions required:
  • Vulnerable OpenSSL < 1.1.1x linked into the target application
  • No input validation or sandboxing before OpenSSL parsing
Where this breaks in practice:
  • Process supervisors (systemd, Kubernetes liveness probes) auto-restart crashed services
  • CPU stall from CVE-2023-5678 can be bounded by process timeouts
  • Impact is limited to the single process, not system-wide
Detection/coverage: Application crash logs, core dumps with NULL deref in PKCS12 functions, or abnormal CPU usage on DH operations are straightforward to detect via SIEM or process monitoring
03 · Intelligence Metadata

The supporting signals.

In-the-Wild ExploitationNone documented. Neither CVE appears in CISA KEV. No reports of active exploitation from threat intel vendors.
Proof-of-ConceptNo public weaponized PoC on GitHub or Exploit-DB. Crafting trigger files is trivial (malformed ASN.1) but impact is DoS-only, reducing attacker motivation.
EPSS (CVE-2024-0727)3.19% (87th percentile) — low predicted exploitation probability
EPSS (CVE-2023-5678)Estimated <2% based on similar DoS-class OpenSSL CVEs; not independently confirmed
KEV StatusNot listed in CISA KEV catalog for either CVE
CVSS VectorsCVE-2024-0727: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H (5.5) — CVE-2023-5678: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L (5.3)
Affected VersionsOpenSSL 1.1.1 through 1.1.1w; also affects 1.0.2 through 1.0.2zi and 3.x branches (fixed separately)
Fixed VersionOpenSSL 1.1.1x (extended premium support only; community EOL Sept 2023). Mainstream users should migrate to 3.0.x or 3.1.x+.
Exposure DataCensys reports ~1.8M hosts running OpenSSL on the internet (all versions). Shodan shows ~54K HTTP servers exposing OpenSSL version headers. Fraction running 1.1.1 specifically is substantial but shrinking.
Disclosure DatesCVE-2023-5678: 2023-11-06 — CVE-2024-0727: 2024-01-26
Tenable VPR3.0 (Low risk factor, 23rd percentile) — significantly below the CVSS base scores
04 · The Call

noisgate verdict.

Final Verdict
= UNCHANGED to MEDIUM (5.0/10)

Both CVEs are denial-of-service only with a local-access or user-interaction prerequisite, meaning no remote unauthenticated code execution path exists. The single most decisive factor is the DoS-only impact ceiling — even on high-value roles, the worst outcome is a transient process crash, not compromise.

HIGH Vulnerability severity and impact ceiling (DoS-only, well-documented)
HIGH No active exploitation or KEV listing
MEDIUM Exposure population on EOL 1.1.1 branch (declining but still significant)

Why this verdict

  • DoS-only impact ceiling: Both CVEs affect availability only — CVSS vectors confirm C:N/I:N across both. No path to code execution, privilege escalation, or data exfiltration exists.
  • Local access / user interaction required: CVE-2024-0727 requires UI:R (victim must open a malicious PKCS12 file). CVE-2023-5678 is network-reachable in theory (AV:N) but only via DH parameter negotiation, which modern TLS stacks handle with pre-configured parameters, not attacker-supplied ones.
  • No exploitation evidence: Neither CVE is KEV-listed, no in-the-wild campaigns documented, no weaponized PoC published. Tenable's own VPR of 3.0 confirms low real-world risk.
  • Role multiplier: OpenSSL is embedded in high-value components (network edge appliances, web servers, VPN gateways, identity providers). However, even on these roles, the attack chain requires the application to parse *attacker-controlled* PKCS12 or DH parameter files — a scenario that does not apply to standard TLS termination or certificate-based auth. On a domain controller or load balancer, the DH params and certs are admin-provisioned. The blast radius is process-level crash (host-scoped, transient), not domain/fleet compromise. The floor remains MEDIUM because no high-value role produces an outcome worse than transient DoS.
  • EOL branch context: OpenSSL 1.1.1 is EOL. While these specific CVEs are low-impact, the EOL status means future higher-severity vulns will go unpatched. This is a migration signal, not a severity upgrade for *these* CVEs.

Why not higher?

Upgrading to HIGH would require either a code-execution path, active exploitation, or a fleet-scale blast radius. None exist here. The impact is strictly availability, the attack requires local access or user interaction, and the worst case on any deployment role is a single-process crash that auto-restarts. The Tenable VPR of 3.0 independently confirms this sits at the low end of MEDIUM.

Why not lower?

Dropping to LOW would undercount the ubiquity of OpenSSL and the EOL status of 1.1.1. CVE-2023-5678 has a network-adjacent attack vector in specific configurations, and OpenSSL powers critical services where even transient DoS matters. The CVSS base scores of 5.3–5.5 are appropriate anchors for MEDIUM.

05 · Compensating Control

What to do — in priority order.

  1. Migrate off OpenSSL 1.1.1 to 3.0.x or 3.1.x+ — The 1.1.1 branch is community EOL. These CVEs are low-severity, but the *next* one may not be. Plan migration within the noisgate 365-day remediation window for MEDIUM findings. This is the only durable fix.
  2. Audit applications that accept untrusted PKCS12 files — Identify any service that calls PKCS12_parse() on user-supplied input. Add input validation or sandboxing. Most enterprise TLS deployments do NOT accept external PKCS12 uploads, so your exposure may be zero.
  3. Ensure process supervisors auto-restart affected services — Configure systemd Restart=always, Kubernetes liveness probes, or equivalent watchdogs on OpenSSL-linked services. This caps the DoS window to seconds rather than indefinite outage.
  4. Pin DH parameters to known-good values — Avoid accepting externally negotiated DH parameters. Use pre-generated dhparam files (2048-bit minimum) and configure TLS libraries to reject oversized parameters. This neutralizes CVE-2023-5678.
What doesn't work
  • WAF rules — these vulns are triggered by binary file parsing (PKCS12/DH ASN.1 structures), not HTTP request payloads. A WAF cannot inspect or block the trigger.
  • Network segmentation alone — CVE-2023-5678 has an AV:N vector; segmentation helps but doesn't eliminate the vector if the service is reachable within the segment.
  • Upgrading to 1.1.1w — the last free community release is 1.1.1w, which is still vulnerable. Only 1.1.1x (paid extended support) or migration to 3.x fixes these.
06 · Verification

Crowdsourced verification payload.

Run this on each target host where OpenSSL is installed. Execute as any user with read access to the openssl binary: bash check_openssl_184811.sh. No root privileges required.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_openssl_184811.sh
# Checks whether the installed OpenSSL is vulnerable to CVE-2023-5678 / CVE-2024-0727
# (Tenable plugin 184811: OpenSSL 1.1.1 < 1.1.1x)
# Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN

set -euo pipefail

OPENSSL_BIN="${1:-openssl}"

if ! command -v "$OPENSSL_BIN" &>/dev/null; then
  echo "UNKNOWN - openssl binary not found at '$OPENSSL_BIN'"
  exit 2
fi

VERSION_STR=$("$OPENSSL_BIN" version 2>/dev/null)
echo "Detected: $VERSION_STR"

# Extract version components
if [[ "$VERSION_STR" =~ OpenSSL\ 1\.1\.1([a-z]*)\ ]]; then
  PATCH_LETTER="${BASH_REMATCH[1]}"
  if [[ -z "$PATCH_LETTER" ]]; then
    # OpenSSL 1.1.1 (no letter) - vulnerable
    echo "VULNERABLE - OpenSSL 1.1.1 (no patch letter) is below 1.1.1x"
    exit 1
  fi
  # Compare: 'x' is the fix. Letters a-w are vulnerable.
  if [[ "$PATCH_LETTER" < "x" ]]; then
    echo "VULNERABLE - OpenSSL 1.1.1${PATCH_LETTER} is below 1.1.1x"
    exit 1
  else
    echo "PATCHED - OpenSSL 1.1.1${PATCH_LETTER} is at or above 1.1.1x"
    exit 0
  fi
elif [[ "$VERSION_STR" =~ OpenSSL\ 3\. ]]; then
  echo "PATCHED - OpenSSL 3.x branch detected (not affected by this plugin)"
  exit 0
elif [[ "$VERSION_STR" =~ OpenSSL\ 1\.0\. ]]; then
  echo "VULNERABLE - OpenSSL 1.0.x is EOL and likely affected (check CVE-2024-0727 separately)"
  exit 1
else
  echo "UNKNOWN - Could not parse version from: $VERSION_STR"
  exit 2
fi
07 · Bottom Line

If you remember one thing.

TL;DR
These two DoS-only CVEs in an EOL OpenSSL branch don't warrant emergency action. There is no noisgate mitigation SLA for MEDIUM findings — go straight to the 365-day noisgate remediation SLA. Your Monday-morning action is to flag all hosts still running OpenSSL 1.1.1 in your asset inventory and open a migration project to OpenSSL 3.0.x or 3.1.x+. For the specific CVEs, confirm whether any application actually accepts untrusted PKCS12 files (most won't) and ensure process auto-restart is configured on critical services. The real urgency here is the EOL status: the next OpenSSL 1.1.1 CVE could be worse, and you'll have no community patch. Treat this finding as a migration accelerator, not a fire drill.

Sources

  1. Tenable Plugin 184811
  2. NVD — CVE-2024-0727
  3. CyberStrike — CVE-2024-0727 Detail
  4. SentinelOne — CVE-2023-5678
  5. OpenSSL 1.1.1 Release Notes
  6. OpenSSL Vulnerabilities Page
  7. OpenSSL End-of-Life Dates
  8. SafeLogic Extended Support for OpenSSL
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.