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 repl

要了解已安装并可用的 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

相关内容