A vulnerability in node-forge's AES-GCM implementation allows authentication bypass when the tagLength option passed to the cipher start() method is zero or converts to zero. This causes the authentication tag to be empty, making decipher.finish() return true for any ciphertext and additional data if the supplied tag is empty or missing. The issue is fixed in node-forge version 1.4.1 by validating the tagLength against allowed NIST values.