Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EVP_*Update: ensure that input NULL with length 0 isn't passed #8676

Closed
wants to merge 2 commits into from

Conversation

levitte
Copy link
Member

@levitte levitte commented Apr 4, 2019

Even with custom ciphers, the combination in == NULL && inl == 0
should not be passed down to the backend cipher function. The reason
is that these are the values passed by EVP_*Final, and some of the
backend cipher functions do check for these to see if a "final" call
is made.

Fixes #8675

Even with custome ciphers, the combination in == NULL && inl == 0
should not be passed down to the backend cipher function.  The reason
is that these are the values passed by EVP_*Final, and some of the
backend cipher functions do check for these to see if a "final" call
is made.

Fixes openssl#8675
@levitte levitte added branch: master Merge to master branch branch: 1.0.2 Merge to OpenSSL_1_0_2-stable branch branch: 1.1.1 Merge to OpenSSL_1_1_1-stable branch labels Apr 4, 2019
crypto/evp/evp_enc.c Outdated Show resolved Hide resolved
@mspncp
Copy link
Contributor

mspncp commented Apr 5, 2019

Why 1.0.2? Is this really a security fix?

@levitte levitte removed the branch: 1.0.2 Merge to OpenSSL_1_0_2-stable branch label Apr 5, 2019
@levitte
Copy link
Member Author

levitte commented Apr 5, 2019

Sorry, 1.0.2 was me being a bit overzealous

@levitte
Copy link
Member Author

levitte commented Apr 9, 2019

Ping?

levitte added a commit that referenced this pull request Apr 10, 2019
Even with custome ciphers, the combination in == NULL && inl == 0
should not be passed down to the backend cipher function.  The reason
is that these are the values passed by EVP_*Final, and some of the
backend cipher functions do check for these to see if a "final" call
is made.

Fixes #8675

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from #8676)

(cherry picked from commit dcb982d)
@levitte
Copy link
Member Author

levitte commented Apr 10, 2019

Merged.

master:
dcb982d EVP_*Update: ensure that input NULL with length 0 isn't passed

1.1.1:
130b7df EVP_*Update: ensure that input NULL with length 0 isn't passed

@levitte levitte closed this Apr 10, 2019
levitte added a commit that referenced this pull request Apr 10, 2019
Even with custome ciphers, the combination in == NULL && inl == 0
should not be passed down to the backend cipher function.  The reason
is that these are the values passed by EVP_*Final, and some of the
backend cipher functions do check for these to see if a "final" call
is made.

Fixes #8675

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from #8676)
@mattcaswell
Copy link
Member

This broke extended tests (pyca external tests) - see #8636.

@mattcaswell
Copy link
Member

This commit was reverted due to the issues described in #8636 until we have a better way. The extended tests failure that resulted was masking other problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch: master Merge to master branch branch: 1.1.1 Merge to OpenSSL_1_1_1-stable branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CHACHA20_POLY1305 different results for chunked/non-chunked updating
4 participants