← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
tenable:81606 · Disclosed 2015-01-09

SSL/TLS EXPORT_RSA <= 512-bit Cipher Suites Supported

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
01 · The Real Story

This is a rusty side door that only opens if the attacker is already standing in the hallway

This finding means the target TLS service will still negotiate RSA_EXPORT / export-grade RSA cipher suites, letting a man-in-the-middle try to downgrade a connection to 512-bit RSA and then factor the temporary key. The classic client-side FREAK bug is tracked as CVE-2015-0204 in OpenSSL before 0.9.8zd, 1.0.0p, and 1.0.1k, but this Tenable plugin is really flagging the *server-side prerequisite*: any HTTPS/TLS endpoint whose cipher config still permits export RSA.

Tenable calling this MEDIUM is generous for most modern enterprise environments. There is no direct server takeover, no pre-auth RCE, and no standalone exploit path; the attacker needs an active on-path position *and* a client stack that still mishandles the downgrade. That combination is rare in 2026 on managed endpoints, so this is better treated as LOW-severity crypto hygiene unless you run public-facing legacy portals for unmanaged clients or old TLS interception gear.

"FREAK on the server side is mostly crypto debt: real abuse needs MITM plus a still-vulnerable client."
02 · The Attack Path

3 steps from start to impact.

STEP 01

Get in the middle with bettercap / Ettercap

The attacker first needs a live man-in-the-middle position between victim and server, such as hostile Wi-Fi, compromised upstream routing, or internal L2 adjacency with ARP spoofing. Without that network position, support for export ciphers on the server is just dead config.
Conditions required:
  • Attacker can intercept or tamper with traffic in transit
  • Victim initiates a TLS session through the attacker-controlled path
Where this breaks in practice:
  • Requires on-path access, which already implies a meaningful foothold or rogue network position
  • Modern enterprise networks with WPA2-Enterprise, NAC, segmentation, and switch protections reduce practical MITM options
Detection/coverage: EDR will not reliably see this. Network detections come from ARP-spoofing alerts, rogue AP monitoring, or unusual TLS downgrade behavior in packet capture.
STEP 02

Force RSA_EXPORT during handshake

Using a downgrade-capable TLS toolchain or custom patches, the attacker tampers with the ClientHello so the server selects an export-grade RSA suite. This only works if the server still offers export suites *and* the client TLS library accepts the inconsistent downgrade behavior associated with FREAK.
Conditions required:
  • Server negotiates EXPORT_RSA
  • Client stack remains vulnerable or is mediated by vulnerable TLS interception software
Where this breaks in practice:
  • Most modern browsers and TLS libraries have been fixed for years
  • TLS 1.2/1.3-only configurations and hardened cipher lists break this step immediately
Detection/coverage: Nessus, Qualys SSL Labs, sslyze, and nmap --script ssl-enum-ciphers all detect the server-side condition well; they do not prove an exploitable client is present.
STEP 03

Factor the 512-bit key with CADO-NFS / Msieve

If the downgrade succeeds, the attacker captures the temporary 512-bit RSA parameters and factors them offline, then uses the result to decrypt or modify the session. The impact is confidentiality/integrity loss for that session, not code execution on the server.
Conditions required:
  • Export RSA handshake succeeded
  • Attacker can capture enough handshake material and complete factoring fast enough to matter
Where this breaks in practice:
  • The attack is operationally noisy and more expensive than commodity web exploitation
  • Blast radius is limited to intercepted sessions rather than whole-host compromise
Detection/coverage: You usually detect this indirectly via weak-cipher findings, packet captures showing export suites, or client telemetry from vulnerable TLS libraries.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo current evidence this CVE is in the CISA KEV catalog; public reporting focuses on the 2015 disclosure wave, not ongoing enterprise exploitation.
Proof-of-concept availabilityYes. The original researchers published freakattack.com with test tools and attack explanation; exploitation components are well understood, but they require MITM plus a downgrade-vulnerable client.
EPSS0.91945 from FIRST data as mirrored by Tenable; third-party mirrors currently place it around the 99.7th percentile. High EPSS here reflects broad historic attention to the CVE, not automatic server-side exploitability.
KEV statusNot listed in the current CISA Known Exploited Vulnerabilities Catalog.
CVSS vectorCVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N (5.3 / Medium) for CVE-2015-0204. Important caveat: NVD notes this CVE covers client code based on OpenSSL, not every server that still offers export RSA.
Affected scopeAny TLS service that still accepts RSA_EXPORT suites is exposed to the *server-side prerequisite*. The OpenSSL client bug affects versions before 0.9.8zd, 1.0.0p, and 1.0.1k.
Fixed versionsFor OpenSSL clients: 0.9.8zd, 1.0.0p, 1.0.1k and later. For servers, the real fix is removing export cipher suites from the TLS config; distro backports may already carry the client fix without changing the package major version.
Exposure dataAt disclosure, the researchers' Internet-wide scans found more than a third of trusted-cert HTTPS servers at risk, later dropping sharply as admins removed export suites. That historical number shows how common bad TLS defaults were, not what your 2026 exposure looks like.
Disclosure timelineCVE published 2015-01-09; the broader FREAK attack campaign and public tracking site went live in early March 2015.
ResearchersReported by the FREAK researchers behind freakattack.com; OpenSSL later acknowledged it had initially underestimated real-world impact and reclassified the issue.
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (2.9/10)

The single decisive factor is the attacker position requirement: this is not remotely self-exploiting and needs an active man-in-the-middle before anything interesting happens. Even then, the attack usually dies unless the victim still uses a downgrade-vulnerable client or TLS interception stack, which sharply limits the reachable population in modern enterprises.

HIGH Server-side exposure is easy to validate by cipher enumeration
HIGH No evidence of current KEV-listed exploitation pressure
MEDIUM Environment-specific risk if you still support unmanaged legacy clients or old SSL inspection products

Why this verdict

  • Requires MITM first: the attacker must already control the network path, which is major downward pressure compared with ordinary internet-reachable flaws.
  • Needs a second vulnerable component: export-cipher support on the server is only half the chain; the client side also has to mishandle the downgrade.
  • No host compromise: even successful exploitation targets session confidentiality/integrity, not direct server code execution or privilege gain.

Why not higher?

It is not an unauthenticated RCE, not a server takeover, and not broadly wormable. The attack chain compounds friction at every step: on-path access, downgrade-capable tooling, export-cipher support, and a susceptible client stack. That is too much real-world narrowing to justify MEDIUM or HIGH for most patch queues.

Why not lower?

This is still a real cryptographic exposure, not pure scanner trivia. Public-facing services that accept export RSA are needlessly weak, and legacy clients, embedded systems, or brittle TLS interception appliances can still make the chain viable. So it belongs above IGNORE even if it should not outrank materially exploitable edge flaws.

05 · Compensating Control

What to do — in priority order.

  1. Disable export ciphers — Remove EXPORT, RSA_EXPORT, and other obsolete suites from every TLS profile on load balancers, web servers, mail gateways, and appliances. For a LOW verdict there is no mandated mitigation SLA, so treat this as backlog hygiene and complete it in the next normal crypto-baseline change window.
  2. Enforce modern TLS policy — Standardize on hardened TLS 1.2/1.3 configurations from a central baseline so weak suites do not reappear during certificate renewals, appliance migrations, or vendor rollbacks. For LOW, fold this into routine platform engineering rather than emergency change control.
  3. Hunt legacy TLS stacks — Inventory old proxies, SSL inspection products, Java runtimes, embedded systems, and unmanaged browsers that might still be downgrade-vulnerable. Prioritize the exceptions list rather than blanket-panic patching; the real risk only exists where both sides of the chain still line up.
What doesn't work
  • MFA does nothing here because the attack targets the TLS session setup, not account authentication.
  • EDR alone will not fix or reliably surface a weak negotiated cipher on a network device or appliance.
  • Patching only the client is incomplete if your servers still advertise export suites; you are still offering broken crypto to anything legacy on the path.
06 · Verification

Crowdsourced verification payload.

Run this from an auditor workstation or jump host that can reach the target TLS service; no local admin privileges are required. Invoke it as ./check_freak.sh example.com 443 or bash check_freak.sh mail.example.com 993 and it will report VULNERABLE, PATCHED, or UNKNOWN based on whether an export-grade cipher can actually be negotiated.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_freak.sh
# Verify whether a remote TLS service still negotiates export-grade RSA ciphers
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN/ERROR

set -u

HOST="${1:-}"
PORT="${2:-443}"
TIMEOUT_BIN=""

if [[ -z "$HOST" ]]; then
  echo "Usage: $0 <host> [port]" >&2
  exit 2
fi

if command -v timeout >/dev/null 2>&1; then
  TIMEOUT_BIN="timeout 12"
fi

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

# OpenSSL syntax differs by version; try a few common export-cipher selectors.
CANDIDATES=("EXP" "EXPORT" "RSA+EXP")

for CIPHER in "${CANDIDATES[@]}"; do
  OUTPUT=$(echo | ${TIMEOUT_BIN} openssl s_client -connect "${HOST}:${PORT}" -servername "$HOST" -cipher "$CIPHER" 2>&1)
  RC=$?

  # If the local OpenSSL build has no export ciphers compiled in, try next selector.
  if echo "$OUTPUT" | grep -qiE 'no cipher match|Error with command|Unknown cipher'; then
    continue
  fi

  # Successful handshake with an export cipher means vulnerable.
  if [[ $RC -eq 0 ]] && echo "$OUTPUT" | grep -qiE 'Cipher is|Cipher    :'; then
    NEGOTIATED=$(echo "$OUTPUT" | awk -F': ' '/Cipher    :/ {print $2}' | tail -n1)
    if [[ -z "$NEGOTIATED" ]]; then
      NEGOTIATED=$(echo "$OUTPUT" | awk '/Cipher is/ {print $3}' | tail -n1)
    fi
    echo "VULNERABLE - negotiated export cipher ${NEGOTIATED:-unknown} on ${HOST}:${PORT}"
    exit 1
  fi

  # Expected failure when server refuses export ciphers.
  if echo "$OUTPUT" | grep -qiE 'handshake failure|no shared cipher|sslv3 alert handshake failure|alert handshake failure'; then
    echo "PATCHED - server refused export-grade cipher negotiation on ${HOST}:${PORT}"
    exit 0
  fi

done

# Fallback: enumerate supported ciphers if nmap is available.
if command -v nmap >/dev/null 2>&1; then
  NMAP_OUT=$(${TIMEOUT_BIN} nmap --script ssl-enum-ciphers -Pn -p "$PORT" "$HOST" 2>/dev/null)
  if echo "$NMAP_OUT" | grep -qi 'EXP'; then
    echo "VULNERABLE - nmap ssl-enum-ciphers found export-grade cipher support on ${HOST}:${PORT}"
    exit 1
  fi
  if echo "$NMAP_OUT" | grep -qi 'ssl-enum-ciphers'; then
    echo "PATCHED - nmap did not find export-grade cipher support on ${HOST}:${PORT}"
    exit 0
  fi
fi

echo "UNKNOWN - could not conclusively test ${HOST}:${PORT}; local OpenSSL may lack export ciphers and nmap fallback was unavailable"
exit 2
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do not let this jump ahead of remotely exploitable edge bugs. There is no noisgate mitigation SLA and no noisgate remediation SLA here; treat it as backlog hygiene: verify whether the affected hosts are internet-facing, strip export ciphers during the next routine TLS hardening cycle, and close the ticket fastest for public-facing load balancers, VPN portals, and mail gateways. If the asset serves unmanaged legacy clients or uses old TLS interception gear, move it up locally and clean it up this quarter; otherwise it belongs behind flaws that actually deliver host compromise.

Sources

  1. Tenable Nessus Plugin 81606
  2. NVD CVE-2015-0204
  3. Tracking the FREAK Attack
  4. CISA FREAK SSL/TLS Vulnerability Alert
  5. OpenSSL Release and Advisory Timeline
  6. Red Hat analysis of FREAK
  7. CISA Known Exploited Vulnerabilities Catalog
  8. CVEFeed EPSS mirror for CVE-2015-0204
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.