← Back to Feed CACHED · 2026-09-17 02:52:50 · CACHE_KEY tenable:192965
tenable:192965 · CWE-1325 · Disclosed 2024-04-08

OpenSSL 1.1.1 < 1.1.1y Multiple Vulnerabilities

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

Tenable taped two paper cuts together and called it a gash

This plugin bundles two OpenSSL 1.1.1 flaws fixed in 1.1.1y. CVE-2024-2511 (CVSS 5.9) causes unbounded memory growth in TLSv1.3 session caches — but *only* on servers that set the non-default SSL_OP_NO_TICKET option without early_data support. CVE-2024-4741 is a use-after-free in SSL_free_buffers() — but that function is explicitly documented as rarely called by applications, and only those that directly invoke it are affected. Both CVEs affect OpenSSL 1.1.1 through 1.1.1x, fixed in 1.1.1y (available only through premium extended support since 1.1.1 went EOL on 2023-09-11).

Tenable's plugin rolls both into a CVSS 7.5 / HIGH rating, which dramatically overshoots reality. OpenSSL's own security team rated both CVEs as Low severity. The 7.5 score appears to come from a generic network-reachable availability-impact vector that ignores the non-default configuration prerequisites. The vendor (OpenSSL) is the authority on its own code's exploitability here, and they say Low — twice. The real risk conversation for hosts running OpenSSL 1.1.1 isn't these specific CVEs; it's the EOL status and the absence of future public patches.

"Both CVEs need non-default configs or rare API calls; OpenSSL rates both Low, Tenable inflated to High"
02 · The Attack Path

3 steps from start to impact.

STEP 01

Identify OpenSSL 1.1.1 TLS endpoint

Attacker fingerprints a TLS server advertising OpenSSL 1.1.1 via server banner, TLS extension behavior, or certificate metadata. This is trivially done at scale using Shodan, Censys, or custom scanners. The target must be a TLS *server* — clients are not affected by CVE-2024-2511.
Conditions required:
  • Target runs OpenSSL 1.1.1 < 1.1.1y
  • Target exposes a TLS server endpoint (HTTPS, SMTPS, IMAPS, etc.)
Where this breaks in practice:
  • Many enterprises have already migrated to OpenSSL 3.x; 1.1.1 installs are declining
  • Version fingerprinting is not always reliable — distro backport versions obscure the real patch level
Detection/coverage: Nessus plugin 192965 detects version < 1.1.1y. Qualys QID likely covers this as well.
STEP 02

(CVE-2024-2511) Trigger session cache exhaustion

Attacker sends many TLSv1.3 session resumption requests to a server that has SSL_OP_NO_TICKET set without early_data. The session cache enters an incorrect state and fails to flush, growing without bound. Eventually memory pressure causes denial of service.
Conditions required:
  • Server must use non-default SSL_OP_NO_TICKET option
  • Server must NOT have early_data support configured
  • Server must support TLSv1.3
Where this breaks in practice:
  • SSL_OP_NO_TICKET is non-default — the vast majority of TLS servers never set this flag
  • Servers with early_data enabled (increasingly common) are immune even if NO_TICKET is set
  • Memory-based DoS is slow; most load balancers or process supervisors will restart the service before meaningful impact
  • Rate limiting and connection throttling at the edge blunt the attack further
Detection/coverage: Memory monitoring / OOM-killer logs would catch this. No specific IDS signature exists because the traffic is legitimate TLS.
STEP 03

(CVE-2024-4741) Trigger use-after-free via SSL_free_buffers

If the target application directly calls SSL_free_buffers() at the wrong time — after receiving a partial record header or after only partially reading application data — freed memory is accessed. This could cause a crash or, theoretically, code execution. The attacker would need to time network data delivery to hit the narrow window.
Conditions required:
  • Application must explicitly call SSL_free_buffers() (OpenSSL documents this as rarely used)
  • Attacker must control timing of network data delivery to create the partial-read condition
Where this breaks in practice:
  • SSL_free_buffers() is almost never called — OpenSSL's own advisory says 'rarely used by applications'
  • Exploitation for code execution (vs. crash) requires heap grooming and precise timing, with no known technique published
  • No public PoC exists for either crash or RCE via this path
Detection/coverage: Crash dumps / core files showing a fault in SSL_free_buffers or related SSL buffer routines would be the indicator.
03 · Intelligence Metadata

The supporting signals.

In-the-wild exploitationNone known. Neither CVE appears in CISA KEV. No reports of active exploitation from any threat intelligence source.
Proof-of-concept availabilityNone public. No PoC code found on GitHub, ExploitDB, or Nuclei templates for either CVE-2024-2511 or CVE-2024-4741.
EPSSCVE-2024-2511: low (memory DoS with non-default config). CVE-2024-4741: low (rare API, no PoC). Both well below the 10th percentile threshold for prioritized action.
KEV statusNot listed. Neither CVE is in the CISA Known Exploited Vulnerabilities catalog as of 2026-09-17.
CVSS vectorsCVE-2024-2511: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H5.9 (Medium). CVE-2024-4741: estimated ~5.9–7.5 range depending on assumed exploitability. OpenSSL rates both Low.
Affected versionsOpenSSL 1.1.1 through 1.1.1x. Also affects 3.0.0–3.0.13, 3.1.0–3.1.5, 3.2.0–3.2.1 (CVE-2024-2511) and additionally 3.3.0 (CVE-2024-4741).
Fixed versions1.1.1y (premium support only), 3.0.14, 3.1.6, 3.2.2, 3.3.1. Distro backports: RHEL, Ubuntu, Debian, SUSE all have backported fixes to their supported OpenSSL packages.
Exposure dataShodan/Censys show OpenSSL 1.1.1 presence declining but still significant on legacy appliances and embedded devices. Fewer than 16,000 publicly-facing servers identified running vulnerable OpenSSL versions (2023 Rezilion data; current numbers likely lower).
Disclosure datesCVE-2024-2511 fixed 2024-04-08. CVE-2024-4741 fixed 2024-05-28. Both disclosed via OpenSSL security advisories.
EOL statusOpenSSL 1.1.1 reached end-of-life on 2023-09-11. 1.1.1y is only available via paid premium extended support contracts. Public users receive no further patches.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.5/10)

Both CVEs require non-default application configurations (SSL_OP_NO_TICKET or direct SSL_free_buffers() calls) that the vast majority of real-world deployments never enable, and OpenSSL's own security team rated both flaws as Low severity. The single most decisive factor is the narrow precondition population: the intersection of 'runs OpenSSL 1.1.1' AND 'uses the specific non-default config or rare API' shrinks the actually-vulnerable population to a small fraction of the already-declining 1.1.1 install base.

HIGH Vendor severity assessment (OpenSSL rates both Low)
HIGH Precondition analysis (non-default config / rare API)
MEDIUM Exploitation feasibility (no PoC, but UAF class can surprise)

Why this verdict

  • Non-default prerequisites slash reachable population. CVE-2024-2511 requires SSL_OP_NO_TICKET *without* early_data — a configuration almost no production TLS server uses. CVE-2024-4741 requires the application to directly call SSL_free_buffers(), which OpenSSL documents as rarely used. These preconditions reduce the actually-vulnerable population to well under 5% of the OpenSSL 1.1.1 install base.
  • Vendor self-assessment is Low × 2. OpenSSL's own security team — the people who wrote the code — rated both CVEs as Low. Tenable's 7.5 score ignores the configuration prerequisites and applies a generic network-availability vector. We follow the vendor's judgment here.
  • No exploitation evidence or tooling. Zero PoCs, zero KEV listing, zero campaign reports. The UAF (CVE-2024-4741) is theoretically more dangerous but without a weaponization path demonstrated, it remains theoretical.
  • Role multiplier: OpenSSL is a foundational library present in high-value roles (network edge appliances, load balancers, web servers, identity providers). However, the chain only succeeds if the specific non-default config or rare API call is present. For CVE-2024-2511, the blast radius is DoS only (availability, no confidentiality/integrity impact) — a restart recovers the service. For CVE-2024-4741, theoretical RCE exists but requires the rare SSL_free_buffers() call pattern. Even in high-value roles, the precondition filter means <5% of installs are plausibly reachable, which is below the ≥10% threshold for a canonical high-value-role floor. The floor does not engage.
  • DoS-only impact for the more reachable CVE. CVE-2024-2511 can only cause memory exhaustion (availability impact). It cannot lead to code execution, data exfiltration, or lateral movement. This caps its severity regardless of where OpenSSL is deployed.

Why not higher?

Upgrading to MEDIUM would require either a demonstrated exploitation path or a significantly larger reachable population. The non-default config requirements are not soft suggestions — they are hard code-path gates. Without SSL_OP_NO_TICKET set, CVE-2024-2511's vulnerable code path is never reached. Without calling SSL_free_buffers(), CVE-2024-4741 is dead code. No PoC exists for either.

Why not lower?

An IGNORE verdict would require zero plausible impact. CVE-2024-4741 is a use-after-free — a vulnerability class with a history of surprising weaponization. While the preconditions are narrow, we cannot rule out that some niche but important application calls SSL_free_buffers(). Additionally, OpenSSL 1.1.1's EOL status means the finding signals a broader hygiene problem that deserves tracking even if these specific CVEs are low-risk.

05 · Compensating Control

What to do — in priority order.

  1. Prioritize migration off OpenSSL 1.1.1 entirely — The real risk is not these two CVEs — it's running an EOL cryptographic library. Begin planning migration to OpenSSL 3.0.x or 3.2.x+ within the noisgate remediation SLA of 365 days for LOW findings. This eliminates current and all future 1.1.1 findings at once.
  2. Verify SSL_OP_NO_TICKET and SSL_free_buffers usage — Audit your applications for use of SSL_OP_NO_TICKET (grep source or config) and SSL_free_buffers() (grep source / symbol tables). If neither is present, these CVEs are non-exploitable in your environment. Document the finding and deprioritize.
  3. Apply distro-backported patches where available — RHEL, Ubuntu, Debian, and SUSE have backported fixes for these CVEs into their supported OpenSSL packages. Run your OS package manager update — this is faster than upgrading the OpenSSL major version. No mitigation SLA applies for LOW, but this is easy hygiene.
  4. Ensure process supervision and memory limits on TLS services — For CVE-2024-2511, configure systemd MemoryMax or equivalent cgroup limits on TLS-serving processes. A process supervisor that restarts on OOM contains the DoS impact to seconds of downtime.
What doesn't work
  • WAF / IDS signatures — CVE-2024-2511 uses legitimate TLS 1.3 session resumption traffic. No WAF can distinguish malicious session floods from normal TLS without breaking functionality.
  • TLS version downgrade to 1.2 — While disabling TLSv1.3 would mitigate CVE-2024-2511, this sacrifices security and performance benefits of TLS 1.3 for a Low-severity DoS. The cure is worse than the disease.
  • Network segmentation alone — If the TLS endpoint must be reachable (e.g., a public-facing web server), network controls don't help. The vuln is triggered through normal TLS handshakes.
06 · Verification

Crowdsourced verification payload.

Run on each target host where OpenSSL 1.1.1 may be installed. Execute as any user with read access to the openssl binary: bash check_openssl_192965.sh

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_openssl_192965.sh — Tenable 192965 / CVE-2024-2511, CVE-2024-4741
# Checks whether OpenSSL 1.1.1 is below 1.1.1y
# Exit codes: 0 = PATCHED/NOT_AFFECTED, 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 || true)

if [[ -z "$VERSION_STR" ]]; then
  echo "UNKNOWN — could not determine OpenSSL version"
  exit 2
fi

# Check if it's OpenSSL 1.1.1
if [[ "$VERSION_STR" =~ OpenSSL\ 1\.1\.1([a-z]?) ]]; then
  LETTER="${BASH_REMATCH[1]}"
  # 1.1.1y = letter 'y' (25th letter). Letters a-x are vulnerable.
  if [[ -z "$LETTER" ]]; then
    # Plain 1.1.1 with no letter — vulnerable
    echo "VULNERABLE — $VERSION_STR (pre-1.1.1y)"
    exit 1
  fi
  # Convert letter to number (a=1, b=2, ... y=25)
  LETTER_NUM=$(printf '%d' "'$LETTER")
  LETTER_NUM=$((LETTER_NUM - 96))  # a=1
  if (( LETTER_NUM < 25 )); then
    echo "VULNERABLE — $VERSION_STR (pre-1.1.1y)"
    exit 1
  else
    echo "PATCHED — $VERSION_STR (1.1.1y or later)"
    exit 0
  fi
elif [[ "$VERSION_STR" =~ OpenSSL\ 3\. ]]; then
  echo "PATCHED — $VERSION_STR (OpenSSL 3.x, check separately for 3.x-specific fixes)"
  exit 0
else
  echo "UNKNOWN — not OpenSSL 1.1.1 series: $VERSION_STR"
  exit 2
fi
07 · Bottom Line

If you remember one thing.

TL;DR
These two CVEs are genuinely low-risk — OpenSSL itself rates both Low, no PoCs or exploitation exist, and both require non-default configurations that most deployments never touch. Tenable's 7.5/HIGH score is inflated. Per the noisgate reassessed LOW verdict, there is no mitigation SLA — treat this as backlog hygiene. The noisgate remediation SLA gives you 365 days to patch or, better yet, migrate off OpenSSL 1.1.1 entirely (it's been EOL since September 2023). If your scanner is lighting up hundreds of hosts with this plugin, the actionable takeaway is to accelerate your OpenSSL 3.x migration project, not to emergency-patch these specific CVEs. Before deprioritizing, do a quick grep for SSL_OP_NO_TICKET and SSL_free_buffers in your codebase — if neither appears, document that these CVEs are non-exploitable in your environment and move on.

Sources

  1. Tenable Plugin 192965
  2. OpenSSL 1.1.1 Vulnerabilities List
  3. CVE-2024-2511 — OSV
  4. CVE-2024-4741 — Snyk
  5. OpenSSL 1.1.1 EOL Announcement
  6. CVE-2024-4741 — Red Hat Bugzilla
  7. Rapid7 — CVE-2024-2511
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.