Проблема была обнаружена в пакете mirage-crypto до версии 2.2.0 для OCaml. Функции AES.GCM.authenticate_decrypt_into и Chacha20.authenticate_decrypt_into записывают расшифрованный открытый текст в буфер, предоставленный вызывающей стороной, и только затем сравнивают тег. В случае поддельного тега функции возвращают значение false, но буфер назначения уже содержит полный открытый текст.
Показать оригинальное описание (EN)
An issue was discovered in the mirage-crypto package before 2.2.0 for OCaml. The AES.GCM.authenticate_decrypt_into and Chacha20.authenticate_decrypt_into functions write the decrypted plaintext into a caller-provided buffer and only then compares the tag. On a forged tag, the functions returns false, but the destination buffer already holds the full plaintext.
Характеристики атаки
Последствия
Строка CVSS v3.1