Vulnerabilidades de Python3

Vulnerabilidades de Python3

¿Alguien puede ayudarme a comprender la diferencia entre estas dos salidas de 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

Mi problema es que Python 3.6.9 tiene muchas vulnerabilidades de seguridad como CVE-2021-3177. segúnhttps://ubuntu.com/security/cve-2021-3177esta vulnerabilidad ha sido reparada (3.6.9-1~18.04ubuntu1.4)y liberada.

Los servidores del sistema operativo están actualizados con los últimos parches de Ubuntu. Sin embargo, la herramienta My VA sigue informando las mismas vulnerabilidades que todavía existen en estos sistemas. ¿Alguien sabe por qué sucede esto y alguna idea para superarlo?

Espero que esto esté sucediendo porque mi versión predeterminada de Python3 todavía se muestra Python 3.6.9como en el resultado del último comando. ¿Alguien puede aconsejarme sobre esto?

Respuesta1

El comando python3 está vinculado a uno de los muchos archivos binarios de Python instalados.

Puede ver que hay otros disponibles, para su ejemplo específico, imagino que usarlo python3.6 --versionproducirá un resultado que le indicará que lo es 3.6.9-1~18.04ubuntu1.4y simplemente ejecutarlo python3.6iniciará una respuesta de Python versión 3.6.

Para saber qué versiones de los binarios de Python3 están instaladas y disponibles, intente ejecutar ls -la /usr/bin | grep python3(suelte el 3 para ver cualquier Python 2 allí también).

Solo puede haber 1 versión de Python vinculada al python3comando, el resultado del comando anterior debería darle algo comopython3 -> python3.6

Puede verificar cuál está actualizado haciendo which python3cuál debería ser /usr/bin/python3.

No es una muy buena práctica, pero puedes hacer que tu sesión de usuario use una versión diferente para el python3comando mediante alias: alias python3='/usr/bin/python3.9'. La mejor práctica sería ir apt install python-venvy luego dentro de un directorio de proyecto donde se necesita una versión específica./usr/bin/python3.9 -m venv .venv

información relacionada