{"id":"RUSTSEC-2026-0211","title":"Non-constant time Authentication Tag Check in AES-GCM Decryption","summary":"Non-constant time Authentication Tag Check in AES-GCM Decryption","severity":"none","vendor":"libcrux-aesgcm","product":"libcrux-aesgcm","ecosystem":"rust","affected":["libcrux-aesgcm >= 0.0.0-0"],"published":"2026-07-14","updated":"2026-07-17","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/RUSTSEC-2026-0211","references":[{"url":"https://crates.io/crates/libcrux-aesgcm"},{"url":"https://rustsec.org/advisories/RUSTSEC-2026-0211.html"},{"url":"https://github.com/celabshq/libcrux/pull/1528"}],"tags":["osv","rust"],"ingestedAt":"2026-07-17T19:00:52.145Z","slug":"RUSTSEC-2026-0211","body":"## Overview\n\nAES-GCM decryption used an implementation for checking the provided\nauthentication tag against the recomputed authentication tag that was\nintended to be constant-time, but resulted in non-constant-time code\ngeneration in certain circumstances.\nNote that `libcrux-aesgcm` does not give guarantees on constant-time\ncode generation and possible mitigations must be considered\non a best-effort basis.\n\n## Impact\nUsers of `libcrux-aesgcm` that expose a decryption oracle to an\nattacker, which allows repeatedly querying for the same ciphertext\nwere at risk from timing side-channel attacks, depending on their\ncompilation environment. In the worst case, this could lead to\nrecovery of the recomputed authentication tag by the attacker, which\nenables ciphertext forgery.\n\n## Mitigation\nStarting from version `0.0.9` (published as `libcrux-aes@v0.0.9`),\nAES-GCM decryption uses a different, best-effort constant-time\nimplementation of the tag check, which has been checked to reliably\nlead to constant time code generation, at the moment.\n\n## Affected packages\n\n- `libcrux-aesgcm >= 0.0.0-0`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}