← Back to Feed CACHED · 2026-05-17 09:42:19 · cache_key CVE-2025-29912
tenable:42873 · CWE-200 · Disclosed 2016-08-24

SSL Medium Strength Cipher Suites Supported

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

This is a rusty spare key under the mat, not a kicked-in front door

This finding means a TLS service still negotiates 3DES or another 64-bit block cipher, which maps to SWEET32 / CVE-2016-2183. The weakness is not tied to one neat product range; it affects any server or client stack that still permits those legacy ciphers, and scanners usually flag suites like DES-CBC3-SHA. In OpenSSL, mitigation landed in 1.0.2i / 1.0.1u, and 1.1.0 disabled those DES-based suites by default.

The vendor baseline overstates operational risk. CVSS treats this like a simple network-reachable confidentiality bug, but the real exploit path usually needs attacker-in-the-middle visibility or browser foothold, an actual 3DES-negotiated session, a long-lived connection, repeated secret-bearing traffic, and massive data volume. That makes it a legitimate hardening issue and compliance blemish, but usually not an urgent enterprise patch-priority event.

"Real crypto debt, but not a Monday-morning fire: SWEET32 needs a very narrow, traffic-heavy attack path."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Find a TLS endpoint that still offers 3DES

An attacker starts with the same thing your scanner did: enumerate ciphers with Nessus 42873, nmap --script ssl-enum-ciphers, or sslyze and locate an endpoint that still accepts a 64-bit block cipher. This only proves the server is willing to talk legacy crypto; it does not prove a victim session will actually use it.
Conditions required:
  • Network reachability to the TLS service
  • Server still negotiates 3DES or another 64-bit block cipher
Where this breaks in practice:
  • Many modern services already disable 3DES by default
  • A server offering 3DES is common; a real victim actually using it is much less common
Detection/coverage: Excellent scanner coverage. Nessus, Qualys, nmap ssl-enum-ciphers, and sslyze all catch this reliably.
STEP 02

Get a victim session to negotiate the weak suite

For a practical HTTPS attack, the victim-side stack must actually end up on 3DES. Researchers demonstrated this with a malicious-JavaScript traffic generator plus network observation in the original SWEET32 work. Server support alone is insufficient if modern browsers and intermediaries pick AES or TLS 1.3 instead.
Conditions required:
  • Victim client still supports the weak suite
  • Attacker can observe or influence the victim's network path, or has equivalent browser-side foothold
Where this breaks in practice:
  • Modern browsers, TLS libraries, and policy baselines often avoid 3DES
  • TLS 1.3 and strong-suite preference erase the condition entirely
Detection/coverage: Weak. Standard vuln scanners do not prove victim-side negotiation; you need TLS telemetry, packet capture, or handshake logs.
STEP 03

Keep the session alive and push huge traffic volume

SWEET32 is a birthday-bound collision attack against 64-bit block ciphers. The published HTTPS proof of concept required roughly 785 GB of captured traffic and a long-lived session, using repeated requests to force the target secret such as a cookie to appear again and again under the same key. This is the step that kills most real-world exploitability.
Conditions required:
  • Long-lived TLS session under the same key
  • Repeated secret-bearing plaintext such as cookies or auth headers
  • Ability to generate and capture very large traffic volumes
Where this breaks in practice:
  • Session rekeying, connection churn, and short-lived application flows break the attack
  • Many enterprise apps simply do not keep enough repeated traffic under one key
Detection/coverage: Indirect only. Look for abnormal request volume from one browser/client, unusually persistent sessions, or high-volume repetitive HTTPS patterns.
STEP 04

Recover plaintext and hijack the session

If the attacker gets enough collisions, they can recover bits of plaintext and potentially expose something valuable like a session cookie. Impact is primarily confidentiality loss and possible session hijack, not code execution, lateral movement, or direct host compromise.
Conditions required:
  • Recovered plaintext includes an authentication token or other reusable secret
  • The secret remains valid long enough to abuse
Where this breaks in practice:
  • Recovered data may be low value or quickly expired
  • HttpOnly, short session lifetimes, and token rotation reduce usable impact
Detection/coverage: Difficult at the crypto layer; downstream detection is more likely via anomalous session reuse, impossible travel, or web session analytics.
03 · Intelligence Metadata

The supporting signals.

Canonical issueCVE-2016-2183 / SWEET32 — birthday attack against 64-bit block ciphers such as 3DES in TLS
Disclosure timelineResearch was publicly described on 2016-08-24 by Karthikeyan Bhargavan and Gaëtan Leurent; the CVE was published shortly after
Vendor baselineTenable plugin 42873 currently shows Plugin Severity: High, while its VPR risk factor is Medium (6.1) — that likely explains the user's "MEDIUM (?)" note
CVSS vs realityCVSS 7.5 / CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N assumes easy remote exploitation, but the practical path usually needs MitM/browser foothold + long-lived high-volume traffic
In-the-wild statusNot in CISA KEV when checked, and I found no mainstream public reporting of active exploitation campaigns driving enterprise triage today
Proof-of-concept availabilityYes — the original researchers published the academic PoC path on sweet32.info and in the CCS paper; this is not a commodity one-shot RCE exploit
EPSSA current public CVE feed snapshot shows roughly 40.99% EPSS / ~97th percentile for CVE-2016-2183; treat that as background threat telemetry, not as the main severity driver here because the exploit path is highly conditional
Affected version rangeBroad and configuration-driven: any TLS service or client that still negotiates 3DES or another 64-bit block cipher. This is why the finding appears across appliances, Java stacks, OpenSSL consumers, and legacy embedded gear
Fixed / mitigated statesIn OpenSSL, 1.0.2i and 1.0.1u moved DES-based suites out of HIGH, and 1.1.0 disabled them by default; many distros backported equivalent behavior
Exposure dataThe original SWEET32 research estimated 3DES accounted for roughly 1–2% of mainstream browser HTTPS connections at disclosure. That shows real internet presence, but still a minority path, not broad default exposure
04 · The Call

noisgate verdict.

Final Verdict
DOWNGRADED to LOW (3.2/10)

The decisive downgrade factor is attack-path friction: real SWEET32 exploitation usually requires a victim session that actually negotiates 3DES plus a long-lived, high-volume, repeated-secret traffic pattern. In enterprise terms, this is usually legacy crypto debt on exposed services, not an attacker's fastest route to compromise.

HIGH Attack-path friction assessment
MEDIUM Estate-specific exposure without your asset inventory and TLS telemetry

Why this verdict

  • Start from 7.5, then cut hard for attacker position: practical exploitation normally needs MitM visibility or equivalent browser foothold, which implies a prior compromise stage or privileged network position that CVSS does not capture.
  • Cut again because server support is not exploitability: Nessus proves the endpoint *offers* 3DES, but a real victim must also *negotiate* it. In modern estates, many clients prefer AES/TLS 1.2+ or TLS 1.3, which narrows reachable population sharply.
  • Cut again for data-volume and session-lifetime requirements: the published HTTPS demo needed enormous traffic and a long-lived session with repeated secrets. That is real cryptographic weakness, but poor attacker ROI compared with phishing, token theft, or edge RCE.

Why not higher?

This is not a one-packet unauthenticated break. It does not hand over code execution, domain takeover, or trivial remote shell access, and the exploit chain depends on several compounding prerequisites that modern deployments often break naturally. That makes a HIGH or CRITICAL call inappropriate for most 10,000-host environments.

Why not lower?

It is still a real confidentiality weakness, not scanner theater. If you still expose legacy 3DES on internet-facing portals, old VPNs, or brittle embedded platforms, a determined attacker with the right position can exploit it. It also remains valid crypto-baseline debt and will keep tripping audits and external assessments.

05 · Compensating Control

What to do — in priority order.

  1. Disable 3DES and other 64-bit block ciphers — Remove 3DES / DES-CBC3-SHA and equivalent suites from server-side cipher policy wherever the platform allows it. For a LOW noisgate verdict there is no mitigation SLA; treat this as backlog hygiene and complete it in the next normal TLS-hardening change window.
  2. Triage internet-facing and VPN endpoints first — If you cannot clean up everything at once, start with externally reachable web apps, load balancers, reverse proxies, and remote-access concentrators where victim traffic volume and attacker reachability are most plausible. For LOW, there is no special emergency deadline; fold it into routine exposure reduction work.
  3. Validate actual negotiation, not just library version — Re-test endpoints with handshake enumeration after each change because many products bundle their own TLS stack and ignore OS-level cipher settings. This matters more than package version alone because SWEET32 is fundamentally a negotiated-cipher problem.
What doesn't work
  • A WAF does not solve this; the weakness is in TLS cipher negotiation and bulk encrypted traffic, not HTTP request syntax.
  • EDR on servers rarely helps; many affected assets are appliances or services where the important signal is the negotiated cipher, not endpoint process behavior.
  • Upgrading only the base OS crypto policy may not clear the finding if the application ships its own OpenSSL, Java runtime, or embedded TLS library.
06 · Verification

Crowdsourced verification payload.

Run this from an auditor workstation or jump host that can reach the target TLS service: ./check_sweet32.sh app.example.com 443. It needs no administrative privileges; nmap is preferred for accuracy, and the script falls back to openssl if nmap is unavailable.

noisgate-verify.sh
BASHREAD-ONLYSAFE
#!/usr/bin/env bash
# check_sweet32.sh
# Detect whether a remote TLS service still negotiates 3DES / SWEET32-prone ciphers.
# Usage: ./check_sweet32.sh <host> [port]
# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN, 3=usage error

set -u

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

if [ -z "$HOST" ]; then
  echo "UNKNOWN: usage: $0 <host> [port]"
  exit 3
fi

# Prefer nmap because it enumerates server-accepted suites reliably.
if command -v nmap >/dev/null 2>&1; then
  OUT="$(nmap -Pn --script ssl-enum-ciphers -p "$PORT" "$HOST" 2>/dev/null)"
  if [ -z "$OUT" ]; then
    echo "UNKNOWN: no output from nmap"
    exit 2
  fi

  if echo "$OUT" | grep -Eiq '3des|des-cbc3|des-cbc'; then
    echo "VULNERABLE"
    exit 1
  fi

  if echo "$OUT" | grep -Eiq 'ssl-enum-ciphers|TLSv1\.[0-3]|ciphers'; then
    echo "PATCHED"
    exit 0
  fi

  echo "UNKNOWN: unable to interpret nmap output"
  exit 2
fi

# Fallback to openssl s_client. This is less reliable on systems where legacy ciphers are unavailable.
if command -v openssl >/dev/null 2>&1; then
  OUT="$(printf '' | openssl s_client -connect "${HOST}:${PORT}" -servername "$HOST" -tls1_2 -cipher 'DES-CBC3-SHA:@SECLEVEL=0' 2>/dev/null)"

  if echo "$OUT" | grep -Eq 'Cipher is DES-CBC3-SHA|Cipher *: *DES-CBC3-SHA|New, .*DES-CBC3-SHA'; then
    echo "VULNERABLE"
    exit 1
  fi

  if echo "$OUT" | grep -Eq 'handshake failure|no cipher match|alert handshake failure|ssl handshake has read'; then
    echo "PATCHED"
    exit 0
  fi

  echo "UNKNOWN: openssl could not confirm whether 3DES is accepted"
  exit 2
fi

echo "UNKNOWN: neither nmap nor openssl is installed"
exit 2
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: do not treat Tenable 42873 like an emergency patch sprint unless you have a known legacy internet-facing edge that still negotiates 3DES and carries long-lived authenticated sessions. For a LOW verdict there is no noisgate mitigation SLA and noisgate remediation SLA is effectively backlog hygiene rather than a fixed deadline, so put this into your normal TLS-hardening program, verify which exposed endpoints still accept 3DES, and close those findings during your routine crypto-baseline cleanup rather than displacing real exploit-driven patch work.

Sources

  1. Tenable Nessus Plugin 42873
  2. NVD CVE-2016-2183
  3. OpenSSL blog: The SWEET32 issue
  4. SWEET32 research site
  5. OpenSSL Security Advisory 2016-09-22
  6. CISA Known Exploited Vulnerabilities Catalog
  7. CVE Details EPSS snapshot for CVE-2016-2183
  8. Original CCS paper PDF
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.