Botan before 3.6.0, when certain LLVM versions are used, has compiler-induced secret-dependent control flow in lib/utils/ghash/ghash.cpp in GHASH in AES-GCM. There is a branch instead of an XOR with carry. This was observed for Clang in LLVM 15 on RISC-V.
{ "binaries": [ { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "botan" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "botan-dbgsym" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "libbotan-2-19" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "libbotan-2-19-dbgsym" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "libbotan-2-dev" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "libbotan-2-doc" }, { "binary_version": "2.19.1+dfsg-2ubuntu1+esm1", "binary_name": "python3-botan" } ], "availability": "Available with Ubuntu Pro: https://ubuntu.com/pro" }
{ "binaries": [ { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "botan" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "botan-dbgsym" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "libbotan-2-19" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "libbotan-2-19-dbgsym" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "libbotan-2-dev" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "libbotan-2-doc" }, { "binary_version": "2.19.3+dfsg-1ubuntu2+esm1", "binary_name": "python3-botan" } ], "availability": "Available with Ubuntu Pro: https://ubuntu.com/pro" }