-
Notifications
You must be signed in to change notification settings - Fork 831
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
Python Seldon Core Library dependency update #5951
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left some comments about the policy to specify dependency ranges.
Also what tests have been performed to make sure things still work?
# Addresses CVE SNYK-PYTHON-CRYPTOGRAPHY-3315328 | ||
"cryptography >= 39.0.1, < 41.1", | ||
"cryptography==43.0.1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we just adjust the upper bound, why do we have to pin it to a particular version
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest cryptography 41.0.6
as the lower bound since this is the patch version for CVE-2023-49083
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
>=41.0.6, <=43.0.1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lets have a lower bound with the patched version we would want to have. It is unclear whether we have to have an upper bound, it depends on the tests.
"setuptools >= 65.5.1", | ||
"prometheus_client >= 0.7.1, < 0.9.0", | ||
"werkzeug >= 2.1.1, < 2.3", | ||
"werkzeug==3.0.4", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we just bump up the upper version, why do we have to pin it to a particular version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps we can have only a min bound, i.e. >=2.3.8
. Upper bound could be added if there are issues with tests.
"setuptools >= 65.5.1", | ||
"prometheus_client >= 0.7.1, < 0.9.0", | ||
"werkzeug >= 2.1.1, < 2.3", | ||
"werkzeug==3.0.4", | ||
# Addresses CVE SNYK-PYTHON-CRYPTOGRAPHY-3315328 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(not related to this PR but this comment might be stale)
There are some failing tests. V1 Python Tests / python-tests - is failing I think due the version of python in the ci environment and the new dependency changes. To simulate the problem I used python 3.7.10 that the ci uses and attempted to apply the "werkzeug==3.0.4" update.
Using python version 3.8 or later is what is needed if you want to use "werkzeug==3.0.4"
|
There seem to be some inconsistencies in the way the the tests are applying the dependencies they share. This may be due to there being two different containerized environments for the different tests. The version of python is different in each one.
|
What this PR does / why we need it:
The following are the CVEs addressed by this PR.
CVE-2023-46136 which deals with werkzeug
CVE-2023-49083 which addresses the cryptography library
werkzeug==3.0.4
andcryptography==43.0.1