Add a comment noting the padding oracle.
[openssl.git] / crypto / evp / evp_enc.c
index 4314b43719f4954ddba0322932f211d771da2cbc..2b62bf64d22b62786212dc0991898e44e8ac9cef 100644 (file)
@@ -524,6 +524,11 @@ int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl)
                        return(0);
                        }
                OPENSSL_assert(b <= sizeof ctx->final);
                        return(0);
                        }
                OPENSSL_assert(b <= sizeof ctx->final);
+
+               /*
+                * The following assumes that the ciphertext has been authenticated.
+                * Otherwise it provides a padding oracle.
+                */
                n=ctx->final[b-1];
                if (n == 0 || n > (int)b)
                        {
                n=ctx->final[b-1];
                if (n == 0 || n > (int)b)
                        {