` reads). %> ROBOT Attack (Return Of Bleichenbacher's Oracle Threat) | TLS Radar Skip to main content
vulnerabilities 6 min read By TLS Radar Team

ROBOT Attack (Return Of Bleichenbacher's Oracle Threat)

Imagine a safe with a slightly badly designed combination keypad. When you enter the wrong combination, the safe doesn't just say "wrong." It says - by the sound of the latch, the speed of the locking mechanism, or some other tiny detail - "wrong, but you're closer than last time" or "wrong, completely off."

The information leaks. Each guess narrows the search. Given enough guesses, the safe gives away its combination.

That, more or less, is the ROBOT attack on TLS. The "safe" is the server. The "combination" is the encrypted secret that initiates the TLS connection. The "subtle hint" is whether the server reacts in a slightly different way when you send a malformed encrypted message.

Quick summary

  • What: A variant of the 1998 Bleichenbacher attack on RSA encryption in TLS, made practical again in 2017 because many vendors hadn't patched the original properly. CVE: Multiple CVEs assigned (CVE-2017-6168, CVE-2017-17427, and others) across affected vendors. Disclosed: December 12, 2017 Discovered by: Hanno Böck, Juraj Somorovsky, Craig Young Affected: Major vendors including F5, Citrix, Cisco, Erlang, Bouncy Castle, WolfSSL, IBM, Radware, and others. Severity at the time: Allowed decryption of captured TLS traffic, or signing arbitrary messages as the server, depending on the variant. Status in 2026: Largely patched in mainstream products, but occasionally found in old appliances and unpatched enterprise gear.

What it is in plain English

ROBOT stands for Return Of Bleichenbacher's Oracle Threat. The "return" part is the joke - Daniel Bleichenbacher published the original attack in 1998. Vendors patched it. Almost twenty years later, three researchers found that lots of vendors hadn't patched it properly. Same attack. Still working.

The attack targets a part of TLS that uses RSA encryption to establish a shared secret. When the client wants to start a TLS connection, it generates a secret, encrypts it with the server's public key, and sends the encrypted blob to the server. The server decrypts it. They now share a secret. The connection is set up.

The original Bleichenbacher attack discovered that if you sent the server an invalid encrypted blob - one that wasn't formatted correctly under RSA padding rules - the server would respond differently depending on how the blob was invalid. Specifically, the timing and error messages told the attacker whether their guess about the contents was getting closer.

By sending thousands of carefully crafted invalid blobs and watching the server's reactions, the attacker could eventually figure out the actual encrypted secret of a real TLS session. Then they could decrypt that session.

The 1998 fix was to make the server's response to all invalid blobs look identical - same timing, same error. In theory, no information leaks. In practice, getting the response exactly identical is harder than it sounds. ROBOT showed that many implementations got it wrong.

How the attack worked

The attack required:

  1. Access to encrypted TLS traffic the attacker wanted to decrypt (passively captured, for example). The ability to send a large volume of malformed TLS connection requests to the affected server. Patience - the attack typically required hundreds of thousands to millions of probes.

The process:

  1. The attacker captures an interesting TLS session they want to decrypt. They send many malformed TLS ClientHello messages to the server, each with a slightly different encrypted payload. They observe how the server responds to each one - timing differences, error messages, connection behaviour. From the responses, they progressively narrow down the contents of the captured session's encrypted secret. Once they have the secret, they can decrypt the captured traffic.

A variant of the attack also allowed the attacker to sign arbitrary messages as the server - possible if the server's TLS configuration allowed RSA signature via the same oracle.

The attack was bandwidth-intensive but not computationally hard. On vulnerable servers, the original researchers demonstrated decryption of captured TLS traffic.

What the impact was

ROBOT was significant because of how widespread it was, not because of how sophisticated the attack was.

Vendor breadth. Major TLS implementations - including products from F5, Citrix, Cisco, and others - were affected. These weren't obscure products; they were the load balancers, firewalls, and security appliances running in front of huge swaths of the internet.

The "still here" element. Bleichenbacher published in 1998. The general fix was well-known. ROBOT demonstrated that nearly twenty years of patches hadn't actually fixed the underlying problem across the ecosystem. Implementing constant-time error responses is harder than it looks.

Forced configuration changes. The cleanest fix wasn't just patching the specific implementations - it was disabling RSA key exchange altogether in favour of ECDHE or DHE (which don't have this class of oracle). Many organisations took this opportunity to do the broader hardening, which was overdue anyway.

How to know if you're vulnerable today

In 2026, finding ROBOT-vulnerable systems is uncommon but possible. Look for it in:

  • Old load balancers and security appliances that haven't received vendor patches. F5, Citrix, and similar gear with firmware older than 2018. Internal-facing tools that haven't been audited since 2017. Embedded systems and IoT devices with infrequent firmware updates. Servers still permitting RSA key exchange in their cipher list. If RSA key exchange is disabled, the attack class doesn't apply.

Detection tools:

  • Online: Qualys SSL Labs flags ROBOT-vulnerable configurations. The original researchers published a checker at robotattack.org. Continuous: modern TLS scanners (including TLS Radar) include ROBOT detection.

How to fix and mitigate

The simplest fix is the cleanest: disable RSA key exchange cipher suites entirely. Use ECDHE or DHE instead. This removes the whole class of vulnerability, not just specific implementations of it.

If you can't disable RSA key exchange (rare but real for some legacy clients), apply your vendor's specific ROBOT patch and verify with a checker. Don't trust that "we patched it" - actually test.

The broader lesson: forward secrecy isn't just a "modern security" feature. It's a structural protection against this whole category of attack. ECDHE-only configurations are not vulnerable to ROBOT or its successors.

Why it still matters in 2026

ROBOT is nine years old. The patches have been available the whole time. So why include it in a 2026 reference page?

Three reasons.

It hides in old enterprise gear. Network appliances, security appliances, and load balancers running old firmware sometimes still have it. These devices often live in security paths where being compromised matters more than on a marketing site.

It demonstrates the cost of cipher complexity. The attack worked because RSA key exchange has a tricky padding format that's easy to implement subtly wrong. The modern preference for ECDHE-only configurations is partly a response to this whole category of bug.

It's a reminder that "patched once" doesn't mean "patched everywhere." Bleichenbacher patched the original in 1998. The industry still got it wrong in 2017. Continuous scanning matters because vulnerabilities don't stay fixed in environments nobody scans.

One small ask

ROBOT is included in every modern TLS vulnerability scanner, including ours. If you have public-facing services running on old enterprise gear, this is one of the things worth checking explicitly. TLS Radar's free tier covers three domains and runs the full vulnerability set on each, every day. Worth an afternoon to see whether something old is still listening.

Related reading

Get the next post in your inbox

TLS monitoring tips and product updates. No spam, unsubscribe anytime.

Keep reading

Comparing tools? See how TLS Radar stacks up against DigiCert and SSL.com.