Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion optional_plugins/ansible/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,14 @@
url="http://avocado-framework.github.io/",
packages=packages,
include_package_data=True,
install_requires=[f"avocado-framework=={VERSION}", "ansible-core"],
install_requires=[
f"avocado-framework=={VERSION}",
"cryptography<3.4",
"jinja2<3.1",
"PyYAML<6.0",
"packaging<22.0",
"ansible-core<2.12",
Comment on lines +39 to +43

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

security-critical critical

Pinning dependencies to these older versions introduces significant security risks. While the goal is compatibility, these version constraints allow for the installation of packages with known vulnerabilities.

Here are some examples:

  • cryptography<3.4: Versions in this range are vulnerable to multiple issues, including CVE-2021-23727. Using a version this old is highly discouraged.
  • jinja2<3.1: Versions prior to 3.0.3 are vulnerable to a sandbox escape (CVE-2022-37313).
  • PyYAML<6.0: Versions before 5.4 are vulnerable to arbitrary code execution via yaml.load(). This is a major risk, especially as it's a dependency of ansible-core.
  • ansible-core<2.12: Older versions of ansible-core also have a history of security vulnerabilities that have been patched in newer releases.

It is strongly recommended to use dependency versions that do not contain known security vulnerabilities. Please consider updating the code to be compatible with more recent and secure versions of these libraries, or at a minimum, pin to specific patched versions within these ranges if they exist and are compatible.

],
test_suite="tests",
entry_points={
"console_scripts": [
Expand Down