Email me

Rust advisories / libcrux-aesgcm

VulnerabilityRUSTSEC-2026-0211 · libcrux-aesgcm

RUSTSEC-2026-0211: Non-constant time Authentication Tag Check in AES-GCM Decryption

Short answerA security vulnerability in the libcrux-aesgcm crate: Non-constant time Authentication Tag Check in AES-GCM Decryption. No severity score was published. No fixed version: replace the crate or remove the affected code path.

Cratelibcrux-aesgcm
TypeVulnerability (crypto-failure)
Affected versionsEvery version.
Fixed innone
Severitynot scored
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
Published2026-07-14
Last changed2026-07-17
Also known asnone
Affected functionslibcrux_aesgcm::AesGcm128Key::decrypt, libcrux_aesgcm::AesGcm256Key::decrypt, libcrux_aesgcm::aes_gcm_128::AesGcm128::decrypt, libcrux_aesgcm::aes_gcm_128::Key::decrypt, libcrux_aesgcm::aes_gcm_128::KeyRef::decrypt, libcrux_aesgcm::aes_gcm_128::neon::Key::decrypt, libcrux_aesgcm::aes_gcm_128::neon::KeyRef::decrypt, libcrux_aesgcm::aes_gcm_128::neon::NeonAesGcm128::decrypt, libcrux_aesgcm::aes_gcm_128::portable::Key::decrypt, libcrux_aesgcm::aes_gcm_128::portable::KeyRef::decrypt, libcrux_aesgcm::aes_gcm_128::portable::PortableAesGcm128::decrypt, libcrux_aesgcm::aes_gcm_128::x64::Key::decrypt

What to do

  1. Find who pulls it in: cargo tree -i libcrux-aesgcm.
  2. Avoid the affected API (libcrux_aesgcm::AesGcm128Key::decrypt, libcrux_aesgcm::AesGcm256Key::decrypt, libcrux_aesgcm::aes_gcm_128::AesGcm128::decrypt, libcrux_aesgcm::aes_gcm_128::Key::decrypt, libcrux_aesgcm::aes_gcm_128::KeyRef::decrypt, libcrux_aesgcm::aes_gcm_128::neon::Key::decrypt), or replace the crate.

Details from the advisory

AES-GCM decryption used an implementation for checking the provided authentication tag against the recomputed authentication tag that was intended to be constant-time, but resulted in non-constant-time code generation in certain circumstances. Note that libcrux-aesgcm does not give guarantees on constant-time code generation and possible mitigations must be considered on a best-effort basis.

Impact

Users of libcrux-aesgcm that expose a decryption oracle to an attacker, which allows repeatedly querying for the same ciphertext were at risk from timing side-channel attacks, depending on their compilation environment. In the worst case, this could lead to recovery of the recomputed authentication tag by the attacker, which enables ciphertext forgery.

Mitigation

Starting from version 0.0.9 (published as libcrux-aes@v0.0.9), AES-GCM decryption uses a different, best-effort constant-time implementation of the tag check, which has been checked to reliably lead to constant time code generation, at the moment.

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 libcrux-aesgcm

Full security history of libcrux-aesgcm

Up next

Same cratelibcrux-aesgcm: 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