Description
When symmetric encryption is used, data can be injected through the
passphrase property of the gnupg.GPG.encrypt() and gnupg.GPG.decrypt()
methods. The supplied passphrase is not validated for newlines, and the
library passes --passphrase-fd=0 to the gpg executable, which expects the
passphrase on the first line of stdin, and the ciphertext to be decrypted
or plaintext to be encrypted on subsequent lines. By supplying a passphrase
containing a newline an attacker can control/modify the ciphertext/plaintext
being decrypted/encrypted (CVE-2019-6690).