Vulnerabilidades do Python3

Vulnerabilidades do Python3

Alguém pode me ajudar a entender a diferença entre essas duas saídas do 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

Meu problema é que o Python 3.6.9 tem muitas vulnerabilidades de segurança, como CVE-2021-3177. Conformehttps://ubuntu.com/security/cve-2021-3177esta vulnerabilidade foi corrigida (3.6.9-1~18.04ubuntu1.4)e liberada.

Os servidores do sistema operacional estão atualizados com os patches mais recentes do Ubuntu. No entanto, a ferramenta My VA ainda relata as mesmas vulnerabilidades que ainda existem nesses sistemas. Alguém sabe por que isso está acontecendo e alguma ideia para superar isso?

Espero que isso esteja acontecendo porque minha versão padrão do python3 ainda aparece Python 3.6.9como na saída do último comando. Alguém pode aconselhar sobre isso?

Responder1

O comando python3 está vinculado a um dos muitos binários python instalados.

Você pode ver que existem outros disponíveis, para o seu exemplo específico, imagino que o uso python3.6 --versionproduzirá uma saída informando que é 3.6.9-1~18.04ubuntu1.4e simplesmente executar python3.6a si mesmo iniciará um python versão 3.6 repl

Para saber quais variações de versão dos binários python3 estão instaladas e disponíveis, tente executar ls -la /usr/bin | grep python3(descarte o 3 para ver qualquer python 2 lá também).

Só pode haver 1 versão python vinculada ao python3comando, a saída do comando acima deve fornecer algo comopython3 -> python3.6

Você pode verificar qual é o atual fazendo which python3o que deveria ser /usr/bin/python3.

Não é uma prática muito boa, mas você pode fazer com que sua sessão de usuário use uma versão diferente para o python3comando por meio de aliases: alias python3='/usr/bin/python3.9'. A melhor prática seria entrar apt install python-venvem um diretório de projeto onde uma versão específica é necessária/usr/bin/python3.9 -m venv .venv

informação relacionada