Glossary/Detection Engineering/Downgrade Attacks

What Is a Downgrade Attack? How Rollback Works

A downgrade attack forces a system to fall back to an older, weaker mode it still supports for backward compatibility, then exploits the weakness of that mode.

A client and a server both support TLS 1.3, the connection should be modern and safe, and yet the session ends up negotiated down to SSL 3.0 with a CBC cipher an attacker can pick apart byte by byte. Nobody exploited a buffer overflow. The attacker sat in the middle of the handshake, tampered with the negotiation, and the two endpoints politely agreed to use the weakest option they still had code for. That is a downgrade attack: the security was there, and backward compatibility threw it away.

A downgrade attack forces a system to fall back to an older, weaker mode of operation that it still supports for compatibility, then exploits the weakness of that mode. This guide covers what that means in practice: the two families a defender actually sees (cryptographic protocol downgrades like POODLE and FREAK, and endpoint defense-evasion downgrades like forcing PowerShell v2), how the man-in-the-middle position drives the protocol case, how MITRE ATT&CK catalogs the endpoint case under T1562.010, the signals that expose a rollback in telemetry, and the configuration that closes the door. It is written for the people who answer the alert: SOC analysts triaging odd protocol negotiations, threat hunters chasing legacy-binary execution, and DFIR responders reconstructing how a defense got switched off.

What is a downgrade attack?

A downgrade attack, also called a version-rollback or bidding-down attack, forces two parties to use a less secure protocol, cipher, or feature version than both are actually capable of. The attacker does not break the strong option. They prevent it from being chosen, steering the negotiation toward an old mode whose weakness is already known and already exploitable.

The whole attack rides on backward compatibility. Real systems keep support for old protocols and old ciphers so they can still talk to old peers, and most negotiation schemes pick the best option both sides advertise. A downgrade attack interferes with that negotiation, by tampering with the handshake on the wire or by invoking a legacy version directly on the host, so the "best option both sides support" collapses to something deliberately weak. Nothing is exploited in the strong protocol. The exploit is in the fallback the strong protocol kept around.

Downgrade attacks come in two operational families, and the difference decides who owns the defense. A protocol downgrade happens on the network between two endpoints: an attacker in a man-in-the-middle position rewrites or strips parts of a TLS handshake so the session settles on SSL 3.0, an export-grade cipher, or a 512-bit key. A feature or version downgrade happens on a single host: an attacker who already has a foothold invokes an older version of a tool, like PowerShell v2 or SMBv1, specifically because the old version lacks the logging or hardening the current one added. The first is a network-interception problem. The second is an endpoint-hardening and detection problem.

The protocol downgrades a defender should know

The classic downgrade attacks are TLS and SSL attacks, and they share one move: a man-in-the-middle forces the handshake down to a mode with a known cryptographic weakness, then exploits that weakness. Each of the named attacks below targets a different leftover. The CVE years are not ancient history, they are the reason your scanners still flag SSL 3.0 and export ciphers.

POODLE (Padding Oracle On Downgraded Legacy Encryption, CVE-2014-3566) is the textbook case. A man-in-the-middle interferes with the connection so a browser that supports modern TLS falls back to SSL 3.0, then exploits a padding-oracle flaw in SSL 3.0's CBC mode to recover plaintext one byte at a time. The fix was not a patch, it was killing SSL 3.0 entirely, which is why every hardening guide since 2014 says disable SSLv3.

FREAK (Factoring RSA Export Keys, CVE-2015-0204) abuses a leftover from 1990s US export rules: support for deliberately weak "export-grade" RSA keys. A man-in-the-middle tricks a vulnerable client and server into negotiating a 512-bit export RSA key, which is small enough to factor with modest compute, after which the attacker decrypts the session.

Logjam (CVE-2015-4000) does the same thing to Diffie-Hellman key exchange. A man-in-the-middle downgrades the connection to 512-bit export-grade DH parameters, then computes the shared secret and reads or modifies the traffic. Unlike FREAK, Logjam is a flaw in the TLS protocol itself rather than one implementation, which is why it affected so many servers at once.

BEAST (Browser Exploit Against SSL/TLS) is the older cousin: it pairs a man-in-the-middle with a weakness in CBC-mode ciphers under TLS 1.0 to decrypt session data. It is part of the same story, the reason TLS 1.0 and 1.1 are deprecated, and the reason a downgrade to either is worth alerting on.

The pattern is identical across all four. The strong protocol is fine. The attacker forces the connection onto an old protocol or an export-grade cipher that should never have still been reachable, and the cryptographic weakness of that old mode is what gets exploited. This is also the mechanism behind an HTTPS-to-HTTP downgrade (SSL stripping), where the attacker simply removes the encryption upgrade and serves the user a plaintext connection.

Endpoint downgrades: T1562.010

The other family never touches the network. An attacker who already has code execution on a host downgrades a tool or feature to an older version that lacks the security controls of the current one, specifically to evade detection. MITRE ATT&CK catalogs this as T1562.010, a sub-technique of Impair Defenses (Defense Evasion tactic). The definition is exactly the rollback idea applied to host software: adversaries downgrade or use an outdated version of a feature that does not support updated security controls.

The canonical example is PowerShell. PowerShell 5 and later include Script Block Logging, which records the actual script content that executes, a primary source of detection for malicious PowerShell. PowerShell 2.0 predates Script Block Logging and does not produce it. An attacker who launches powershell.exe -version 2 runs their script with the logging that would have caught it switched off, while still using a signed Microsoft binary. The script ran, and the evidence the modern engine would have left behind never existed.

The same logic applies to SMBv1: an attacker who can force a host to fall back from SMBv3 to SMBv1 strips out signing and encryption and reopens the door to the legacy exploits SMBv1 is known for. The common thread with the protocol family is precise: the secure version exists and is installed, but the attacker reaches past it to a weaker one the system kept for compatibility.

This family is detectable on the endpoint, and the detection is concrete. A process spawning powershell.exe with an explicit -version 2 argument, the presence of PowerShell engine version 2 events when 5 is installed, or a negotiated SMB dialect dropping to 1.0 are all direct rollback signals. MITRE's mitigations are equally concrete: remove or block the legacy versions outright (uninstall PowerShell 2.0, disable SMBv1) so there is no older mode left to fall back to.

The two families compared

Downgrade Attack · Two Families
Force the weak fallback, then exploit it
One runs on the network from a man-in-the-middle position. One runs on a host the attacker already controls.
PROTOCOL DOWNGRADE
On the network
A man-in-the-middle tampers with the TLS handshake so the session settles on SSL 3.0, an export cipher, or a 512-bit key, then exploits that weak mode.
Examples: POODLE, FREAK, Logjam, BEAST, SSL stripping.
Artifact: negotiated protocol and cipher in the handshake.
FIX: DISABLE OLD PROTOCOLS, TLS 1.3, SCSV
ENDPOINT DOWNGRADE · T1562.010
On the host
An attacker with a foothold invokes an older version of a tool that lacks modern logging or hardening, to evade detection while it runs.
Examples: PowerShell v2 (no Script Block Logging), SMBv1.
Artifact: process command line, engine-version events.
FIX: REMOVE LEGACY VERSIONS, MONITOR USE
Defender takeaway Both families exploit the weak mode that backward compatibility kept alive. Remove the fallback so there is nothing to roll back to, then detect any attempt to reach what survives: below-floor TLS on the network, and legacy-version execution on the endpoint.

The families differ along the axes that decide triage: where the rollback happens, what the attacker needs first, which artifact exposes it, and who owns the fix. The table lines them up.

Protocol downgradeEndpoint downgrade
Where it happensOn the network, between two endpointsOn a single host the attacker already controls
Attacker positionMan-in-the-middle on the pathCode execution on the host
What gets rolled backTLS/SSL version or cipher suiteTool or feature version (PowerShell, SMB)
Named examplesPOODLE, FREAK, Logjam, BEAST, SSL strippingPowerShell v2, SMBv1
MITRE mappingDefeated by config, not a single ATT&CK IDT1562.010 Impair Defenses: Downgrade Attack
Primary artifactNegotiated protocol/cipher in the handshakeProcess command line, engine-version events
Primary defenseDisable old protocols, TLS 1.3, SCSVRemove legacy versions, monitor for their use

The split matters because the two families are owned by different controls and different telemetry. The protocol family is a TLS-configuration and network-monitoring problem, solved before the attack by what your servers refuse to negotiate. The endpoint family is a host-hardening and EDR problem, solved by removing the legacy binary and alerting when something invokes it. A program that addresses only one leaves the other family wide open.

How attackers force the downgrade

For the protocol family, the prerequisite is a man-in-the-middle position. The attacker has to sit on the network path to tamper with the handshake, which they reach the same ways as any man-in-the-middle attack: ARP spoofing on a local network, a rogue or evil-twin access point, DNS or DHCP manipulation, or BGP-level interception. From there the downgrade is a handshake-tampering trick. The attacker either modifies the client's ClientHello to advertise only weak options, drops the connection so the client retries with a lower version (exploiting the fallback-retry behavior browsers added for buggy old servers), or strips the upgrade-to-HTTPS step entirely.

For the endpoint family, the prerequisite is prior access. A downgrade here is a post-exploitation move, not an initial-access one. The attacker already has a foothold and uses the downgrade to stay quiet: invoking the old PowerShell engine to dodge Script Block Logging, or coercing an SMBv1 negotiation to drop signing. Because it follows the foothold, an endpoint downgrade is often a marker that other malicious activity is already underway, which is exactly why the legacy-version-execution signal is worth escalating rather than dismissing as a compatibility quirk.

Detection signals in your telemetry

Both families leave artifacts, and they sit in different telemetry sources. Watch both.

An unexpectedly old negotiated protocol or cipher. Your TLS inspection, load balancer, or network monitoring records the protocol version and cipher suite each session actually settled on. A session negotiating SSL 3.0, TLS 1.0, an export-grade cipher, or a 512-bit key, when both endpoints support better, is the protocol-downgrade signal. Baseline what your clients and servers should be negotiating and alert on anything that falls beneath the floor.

Failed handshakes followed by a weaker retry. A connection that fails and immediately retries at a lower version is the fallback-retry pattern POODLE and similar attacks abuse. On modern stacks this should not happen, so a cluster of version-rollback retries against one service is worth a look.

Legacy PowerShell engine use. A process launching powershell.exe -version 2 (or -v 2), or PowerShell engine-version-2 events appearing on a host where 5 is installed, is the T1562.010 signal. This is high-fidelity, modern endpoints have no legitimate reason to invoke the v2 engine, so treat it as a defense-evasion attempt, not noise.

SMB dialect drops to 1.0. A negotiated SMB session settling on dialect 1.0 when the hosts support 3.x indicates a forced fallback that strips signing and encryption. Most environments can disable SMBv1 entirely, so any SMBv1 negotiation is both a downgrade signal and a finding in its own right.

Loss of HTTPS where you expect it. A client connection that should be encrypted arriving over plain HTTP, or HSTS being absent where it should be enforced, can indicate SSL stripping in front of the user.

Defenses that close the fallback

The fix for a downgrade attack is the same idea in both families: remove the weak option so there is nothing to fall back to, and detect any attempt to reach a weak option that survives. In rough order of impact:

Disable old protocols and ciphers. This is the entire protocol-family defense. Turn off SSL 2.0, SSL 3.0, TLS 1.0, and TLS 1.1 on servers and clients, and remove export-grade and other weak cipher suites from the allowed list. POODLE, FREAK, Logjam, and BEAST all require the old mode to still be reachable. If it is not offered, it cannot be negotiated, and the downgrade has nowhere to land.

Prefer TLS 1.3, and use the built-in protections. TLS 1.3 (RFC 8446) bakes downgrade protection into the handshake: a TLS 1.3 server that ends up negotiating a lower version writes a fixed sentinel into the server-random value, and a client that did not intend to downgrade detects that sentinel and aborts. For connections that still negotiate older versions, TLS_FALLBACK_SCSV (RFC 7507) lets a client signal that a connection is a fallback retry, and a server that supports a higher version then refuses it. Both mechanisms turn a silent rollback into a failed connection.

Enforce HTTPS end to end. Require HTTPS and publish HSTS so browsers refuse to load the site over plain HTTP, which closes the SSL-stripping path. Prefer HTTP/2 and HTTP/3, which are TLS-only in practice, so there is no plaintext mode to strip down to.

Remove legacy host features. This is the entire endpoint-family defense. Uninstall PowerShell 2.0 (it is an optional Windows feature that can be removed), disable SMBv1, and retire other legacy binaries that lack modern logging or hardening. A downgrade to a version that is not present on the host simply fails.

Monitor for downgrade attempts you cannot remove. Where a legacy mode cannot be fully removed, detect its use: alert on -version 2 PowerShell launches, SMBv1 negotiations, and below-floor TLS versions, as covered above. Removal plus detection is the durable answer, because it both shrinks the attack surface and catches the attempts against whatever surface remains.

Frequently Asked Questions

What is a downgrade attack in simple terms?

A downgrade attack forces two systems, or one system, to use an older and weaker version of a protocol, cipher, or tool that they still support for backward compatibility, then exploits the weakness of that old mode. The attacker does not break the strong option, they prevent it from being selected. The defense is to stop supporting the weak option so there is nothing to fall back to.

How does a TLS downgrade attack work?

A man-in-the-middle attacker on the network path tampers with the TLS handshake so the client and server settle on an old protocol version or a weak cipher, such as SSL 3.0 or an export-grade key, even though both support something stronger. The attacker then exploits the known weakness of that old mode to read or modify the traffic. POODLE, FREAK, and Logjam are all examples of this pattern.

What is the difference between POODLE, FREAK, and Logjam?

All three are man-in-the-middle downgrade attacks against TLS/SSL, but they target different leftovers. POODLE (CVE-2014-3566) downgrades to SSL 3.0 and exploits a padding-oracle flaw in its CBC mode. FREAK (CVE-2015-0204) forces a weak 512-bit export RSA key. Logjam (CVE-2015-4000) forces 512-bit export-grade Diffie-Hellman and is a flaw in the TLS protocol itself rather than one implementation.

Which MITRE ATT&CK technique covers downgrade attacks?

The endpoint form of downgrade attack is MITRE ATT&CK technique T1562.010, a sub-technique of Impair Defenses under the Defense Evasion tactic. It covers adversaries using an outdated version of a feature that lacks current security controls, such as launching PowerShell v2 to evade Script Block Logging. The cryptographic protocol downgrades are defended by TLS configuration rather than mapped to a single ATT&CK ID.

How do you detect a downgrade attack?

For protocol downgrades, monitor the negotiated TLS version and cipher suite and alert when a session settles below your baseline (SSL 3.0, TLS 1.0, export ciphers, 512-bit keys). For endpoint downgrades, alert on legacy-version execution such as powershell.exe -version 2 or PowerShell engine-version-2 events on hosts running 5, and on SMB sessions negotiating dialect 1.0. A failed handshake followed by a lower-version retry is also a protocol-downgrade signal.

How do you prevent downgrade attacks?

Remove the weak fallback. Disable SSL 2.0/3.0 and TLS 1.0/1.1, remove export-grade and weak ciphers, prefer TLS 1.3 with its built-in downgrade protection, and use TLS_FALLBACK_SCSV for connections that still negotiate older versions. Enforce HTTPS with HSTS to stop SSL stripping. On hosts, uninstall PowerShell 2.0 and disable SMBv1 so there is no legacy version to roll back to.

Are downgrade attacks still relevant in 2026?

Yes. The original TLS attacks are largely closed where administrators disabled the old protocols, but unmanaged servers, embedded devices, and legacy clients still offer SSL 3.0 and export ciphers, and SSL stripping still works against sites that do not enforce HSTS. The endpoint form is very much active: PowerShell v2 downgrade is a current, commonly used defense-evasion technique catalogued as T1562.010, which is why removing legacy versions and monitoring for their use both matter.

The bottom line

A downgrade attack forces a system to fall back to an older, weaker mode it still supports for compatibility, then exploits the weakness of that mode. It splits into two families. The protocol family runs on the network from a man-in-the-middle position, forcing TLS or SSL down to a vulnerable version or cipher, POODLE, FREAK, Logjam, BEAST, and SSL stripping all live here. The endpoint family runs on a host the attacker already controls, rolling a tool back to a version that lacks modern logging or hardening, which MITRE ATT&CK catalogs as T1562.010 with PowerShell v2 as the canonical case.

For a defender, the fix is the same idea in both families: remove the weak option so there is nothing to fall back to. Disable old protocols and export ciphers, prefer TLS 1.3 with its built-in downgrade protection and SCSV, enforce HTTPS with HSTS, and on hosts uninstall PowerShell 2.0 and disable SMBv1. Then detect what you cannot remove: below-floor TLS negotiations on the network, and legacy-version execution on the endpoint. The attack works because compatibility kept the weak path alive, so the durable defense is to close that path and watch the door.

Frequently asked questions

What is a downgrade attack in simple terms?

<p>A downgrade attack forces two systems, or one system, to use an older and weaker version of a protocol, cipher, or tool that they still support for backward compatibility, then exploits the weakness of that old mode. The attacker does not break the strong option, they prevent it from being selected. The defense is to stop supporting the weak option so there is nothing to fall back to.</p>

How does a TLS downgrade attack work?

<p>A man-in-the-middle attacker on the network path tampers with the TLS handshake so the client and server settle on an old protocol version or a weak cipher, such as SSL 3.0 or an export-grade key, even though both support something stronger. The attacker then exploits the known weakness of that old mode to read or modify the traffic. POODLE, FREAK, and Logjam are all examples of this pattern.</p>

What is the difference between POODLE, FREAK, and Logjam?

<p>All three are man-in-the-middle downgrade attacks against TLS/SSL, but they target different leftovers. POODLE (CVE-2014-3566) downgrades to SSL 3.0 and exploits a padding-oracle flaw in its CBC mode. FREAK (CVE-2015-0204) forces a weak 512-bit export RSA key. Logjam (CVE-2015-4000) forces 512-bit export-grade Diffie-Hellman and is a flaw in the TLS protocol itself rather than one implementation.</p>

Which MITRE ATT&CK technique covers downgrade attacks?

<p>The endpoint form of downgrade attack is MITRE ATT&CK technique T1562.010, a sub-technique of Impair Defenses under the Defense Evasion tactic. It covers adversaries using an outdated version of a feature that lacks current security controls, such as launching PowerShell v2 to evade Script Block Logging. The cryptographic protocol downgrades are defended by TLS configuration rather than mapped to a single ATT&CK ID.</p>

How do you detect a downgrade attack?

<p>For protocol downgrades, monitor the negotiated TLS version and cipher suite and alert when a session settles below your baseline (SSL 3.0, TLS 1.0, export ciphers, 512-bit keys). For endpoint downgrades, alert on legacy-version execution such as <code>powershell.exe -version 2</code> or PowerShell engine-version-2 events on hosts running 5, and on SMB sessions negotiating dialect 1.0. A failed handshake followed by a lower-version retry is also a protocol-downgrade signal.</p>

How do you prevent downgrade attacks?

<p>Remove the weak fallback. Disable SSL 2.0/3.0 and TLS 1.0/1.1, remove export-grade and weak ciphers, prefer TLS 1.3 with its built-in downgrade protection, and use TLS_FALLBACK_SCSV for connections that still negotiate older versions. Enforce HTTPS with HSTS to stop SSL stripping. On hosts, uninstall PowerShell 2.0 and disable SMBv1 so there is no legacy version to roll back to.</p>

Practice track
SOC Analyst Tier 1
Build your foundational skills to monitor, detect, and escalate security alerts. This track includes essential tools, basic log analysis, and introductory incident response labs.
Browse SOC Analyst Tier 1 Labs โ†’