BAD SKY.NET

TLS_RSA_WITH_3DES_EDE_CBC_SHA

TLS_RSA_WITH_3DES_EDE_CBC_SHA uses Triple DES, a 64-bit block cipher broken in practice by Sweet32. Only macOS curl still sends it.

TLS cipher suiteCode 0x000a (10)insecure

What it is

TLS_RSA_WITH_3DES_EDE_CBC_SHA (code 0x000A) is one of the oldest TLS cipher suites. It was the mandatory suite of TLS 1.1 and is listed in the TLS 1.2 specification, RFC 5246. It uses static RSA key exchange, Triple DES in CBC mode and HMAC-SHA1.

Triple DES has a 64-bit block size. The Sweet32 research in 2016 showed that, after hundreds of gigabytes on one connection, block collisions let an attacker recover parts of the plaintext, such as session cookies. On top of that, static RSA gives no forward secrecy.

None of the browser-like clients we measured offer it, and TLS 1.3 has no such suites. A modern server has no reason to accept it.

Its code, 0x000A, comes from the original SSL/TLS cipher suite registry, a reminder of how old the suite is.

Who sends it

Chrome 153 (macOS) browser Not sent
curl_cffi (impersonate chrome) Not sent
curl-impersonate chrome116 Not sent
curl-impersonate ff117 Not sent
curl 8.7 (macOS) Sent at position 33
curl 7.88 (Debian 12) Not sent
Python requests Not sent
Python httpx Not sent
Python httpx (HTTP/2) Not sent
Go net/http Not sent
Node.js fetch Not sent
PHP Guzzle Not sent

Measured on 2026-10-25 against our own test server: sent by 1 of 12 clients. Position counts from 1 and ignores GREASE values.

Why it matters for fingerprinting

Among our measured clients only macOS curl offers it, at position 33, along with two other 3DES suites. No other client sends any 3DES suite. Seeing 3DES in a ClientHello points to a very old or unusually configured TLS library.

Check whether your client sends it

Open the test from your browser, or call it from your script, and look for TLS_RSA_WITH_3DES_EDE_CBC_SHA in the TLS details.

Run the TLS fingerprint test

References

Related