Уязвимости Python3

Уязвимости Python3

Может ли кто-нибудь помочь мне понять разницу между этими двумя выводами Python.

root@ip-192-168-20-21:~# apt install python3
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3 is already the newest version (3.6.7-1~18.04).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.


root@ip-192-168-20-21:~# apt install python3.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3.6 is already the newest version (3.6.9-1~18.04ubuntu1.4).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

root@ip-192-168-20-21:~# python3 --version
Python 3.6.9

cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Моя проблема в том, что Python 3.6.9 имеет много уязвимостей безопасности, таких как CVE-2021-3177. Согласноhttps://ubuntu.com/security/cve-2021-3177эта уязвимость была исправлена (3.6.9-1~18.04ubuntu1.4)​​и выпущена.

Серверы ОС обновлены последними патчами Ubuntu. Однако мой инструмент VA все еще сообщает об этих уязвимостях, которые все еще существуют в этих системах. Кто-нибудь знает, почему это происходит, и есть ли идеи по их преодолению?

Надеюсь, это происходит, потому что моя версия python3 по умолчанию все еще отображается Python 3.6.9как в последнем выводе команды. Может ли кто-нибудь дать совет по этому поводу?

решение1

Команда python3 связана с одним из многих установленных двоичных файлов Python.

Вы можете видеть, что есть и другие доступные функции, для вашего конкретного примера я полагаю, что использование python3.6 --versionвыдаст вывод, сообщающий вам, что это так 3.6.9-1~18.04ubuntu1.4, а простой запуск python3.6самого себя запустит ответ Python версии 3.6.

Чтобы узнать, какие версии двоичных файлов python3 установлены и доступны, попробуйте запустить ls -la /usr/bin | grep python3(отбросьте 3, чтобы увидеть также python 2).

С командой может быть связана только одна версия Python python3, вывод для указанной выше команды должен дать вам что-то вродеpython3 -> python3.6

Вы можете проверить, какой из них является текущим, выполнив which python3то, что должно быть /usr/bin/python3.

Это не очень хорошая практика, но вы можете заставить свой сеанс пользователя использовать другую версию для python3команды с помощью псевдонимов: alias python3='/usr/bin/python3.9'. Лучше всего будет перейти apt install python-venvв каталог проекта, где требуется конкретная версия./usr/bin/python3.9 -m venv .venv

Связанный контент