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_name": "botan",
"binary_version": "2.4.0-5ubuntu1"
},
{
"binary_name": "libbotan-2-4",
"binary_version": "2.4.0-5ubuntu1"
},
{
"binary_name": "libbotan-2-dev",
"binary_version": "2.4.0-5ubuntu1"
},
{
"binary_name": "python3-botan",
"binary_version": "2.4.0-5ubuntu1"
}
]
}{
"binaries": [
{
"binary_name": "botan",
"binary_version": "2.12.1-2build1"
},
{
"binary_name": "libbotan-2-12",
"binary_version": "2.12.1-2build1"
},
{
"binary_name": "libbotan-2-dev",
"binary_version": "2.12.1-2build1"
},
{
"binary_name": "python3-botan",
"binary_version": "2.12.1-2build1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "botan",
"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-dev",
"binary_version": "2.19.1+dfsg-2ubuntu1+esm1"
},
{
"binary_name": "python3-botan",
"binary_version": "2.19.1+dfsg-2ubuntu1+esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "botan",
"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-dev",
"binary_version": "2.19.3+dfsg-1ubuntu2+esm1"
},
{
"binary_name": "python3-botan",
"binary_version": "2.19.3+dfsg-1ubuntu2+esm1"
}
]
}