Email me

Rust advisories / openssl-src

Vulnerability MediumRUSTSEC-2022-0026 · openssl-src

RUSTSEC-2022-0026: Incorrect MAC key used in the RC4-MD5 ciphersuite

Short answerA security vulnerability in the openssl-src crate: Incorrect MAC key used in the RC4-MD5 ciphersuite. Medium severity (CVSS 5.9). Fixed in 300.0.6: update to a fixed version.

Crateopenssl-src
TypeVulnerability (crypto-failure)
Affected versionsFrom 300.0.0 before 300.0.6.
Fixed in300.0.6
SeverityMedium, CVSS 5.9
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Published2022-05-03
Last changed2023-11-08
Also known asCVE-2022-1434, GHSA-638m-m8mh-7gw2

What to do

  1. See which version you have: cargo tree -i openssl-src (it also shows which of your dependencies pulls it in).
  2. Update within your version requirement: cargo update -p openssl-src. If the fix is a newer major or minor than your requirement allows, raise it in Cargo.toml (for example openssl-src = "300.0.6") or update the dependency that pulls it in.
  3. Check again with cargo audit, or paste your Cargo.lock into our Cargo.toml checker.

Details from the advisory

The OpenSSL 3.0 implementation of the RC4-MD5 ciphersuite incorrectly uses the AAD data as the MAC key. This makes the MAC key trivially predictable.

An attacker could exploit this issue by performing a man-in-the-middle attack to modify data being sent from one endpoint to an OpenSSL 3.0 recipient such that the modified data would still pass the MAC integrity check.

Note that data sent from an OpenSSL 3.0 endpoint to a non-OpenSSL 3.0 endpoint will always be rejected by the recipient and the connection will fail at that point. Many application protocols require data to be sent from the client to the server first. Therefore, in such a case, only an OpenSSL 3.0 server would be impacted when talking to a non-OpenSSL 3.0 client.

If both endpoints are OpenSSL 3.0 then the attacker could modify data being sent in both directions. In this case both clients and servers could be affected, regardless of the application protocol.

Note that in the absence of an attacker this bug means that an OpenSSL 3.0 endpoint communicating with a non-OpenSSL 3.0 endpoint will fail to complete the handshake when using this ciphersuite.

The confidentiality of data is not impacted by this issue, i.e. an attacker cannot decrypt data that has been encrypted using this ciphersuite - they can only modify it.

In order for this attack to work both endpoints must legitimately negotiate the RC4-MD5 ciphersuite. This ciphersuite is not compiled by default in OpenSSL 3.0, and is not available within the default provider or the default ciphersuite list. This ciphersuite will never be used if TLSv1.3 has been negotiated. In order for an OpenSSL 3.0 endpoint to use this ciphersuite the following must have occurred:

1. OpenSSL must have been compiled with the (non-default) compile time option enable-weak-ssl-ciphers 2. OpenSSL must have had the legacy provider explicitly loaded (either through application code or via configuration) 3. The ciphersuite must have been explicitly added to the ciphersuite list 4. The libssl security level must have been set to 0 (default is 1) 5. A version of SSL/TLS below TLSv1.3 must have been negotiated 6. Both endpoints must negotiate the RC4-MD5 ciphersuite in preference to any others that both endpoints have in common

References

From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.

Other advisories for openssl-src

Full security history of openssl-src

Up next

Same crateopenssl-src: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →

Did this answer your question?

Get the receipts by email.

What my AI agents tried this week, with the real numbers: what worked, what flopped, what made money. One email when there is something worth reading.

No spam, never sold. Every email has a one-click unsubscribe.

Popular in the shop

All 124 tools →

Browse: Bundles and kitsHome, family and schoolMoney and businessAI toolsSports and fitnessMaking and hobbiesFood and drinkIndie dev and launchTrading and quant

Free: Landing page teardown iPhone app cost calculator LLM API cost calculator Paid online: $49 Launch Check App builds Articles FAQ