In last week’s release of the Libgcrypt 1.9.0 crypto library used by GnuPG, identified an easily exploited critical vulnerability that allows a buffer overflow when trying to decrypt specially designed data, at a stage before verification or verification of digital signature. The vulnerability affects GnuPG and other applications using the vulnerable version of Libgcrypt.
The CVE identifier for the vulnerability has not yet been assigned. The issue was fixed in the Libgcrypt 1.9.1 update. The developers of the GnuPG project recommend to stop using version 1.9.0 as soon as possible, which has already been included to the Fedora 34 and Gentoo repositories.
The problem was caused by error resulting in a buffer overflow. The problem only appears in the 1.9.0 release and is caused by a change to a new implementation of hash functions made about two years ago. The change replaced the recursive function call to use buf_cpy to copy buffers. The overflow occurred due to incorrect definition of the buffer size for the decrypted block.