我希望在执行安全更新之前获取适用于该更新的 CVE 或 USN ID。有什么办法吗?
答案1
这可以分两步解决:
查找需要更新的安全相关软件包:
update-notifier
我正在运行脚本的修改版本apt-check
,它采用额外的开关:--security-package-names
,并且仅输出与安全相关的包名称查找针对这些软件包的 CVE:启动板上的项目
ubuntu-cve-tracker
可用于
以下是分步说明:
获取安全相关软件包列表
我将其作为要点(直到我在启动板中的相关项目中创建合并请求)。目前,它可以按如下方式运行:
curl -s https://gist.githubusercontent.com/ahmadnazir/c2444d6b09fd7bb4963a13bc577d92a3/raw/0231b94a4e46abe0a5959de5f84feda76ad2eb9d/apt-check.py \
| python /dev/stdin --security-package-names \
| column -t -s , \
| sort
这将给出以下格式的输出:包裹名字,安装版本, 和候选版本:
...
thunderbird 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-gnome-support 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-locale-en 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
thunderbird-locale-en-us 1:38.6.0+build1-0ubuntu0.14.04.1 1:38.8.0+build1-0ubuntu0.14.04.1
tzdata 2016b-0ubuntu0.14.04 2016f-0ubuntu0.14.04
tzdata-java 2016b-0ubuntu0.14.04 2016f-0ubuntu0.14.04
vlc-data 2.1.6-0ubuntu14.04.1 2.1.6-0ubuntu14.04.2
vlc-nox 2.1.6-0ubuntu14.04.1 2.1.6-0ubuntu14.04.2
wget 1.15-1ubuntu1.14.04.1 1.15-1ubuntu1.14.04.2
...
查找软件包的 CVE
在 launchpad 上查看 ubuntu 的 cve 跟踪器项目:
bzr branch lp:ubuntu-cve-tracker
假设你想获取该wget
软件包的 CVE,你可以运行以下脚本
cd ubuntu-cve-tracker
./scripts/pkg_status wget
这将产生类似以下内容的输出:
precise trusty vivid/spo vivid/uc wily xenial yakkety
CVE-2016-4971 wget: released released* needed* DNE released released released [out of sync] SUPPORTED medium
结果中的第一列显示 CVE。
笔记:
确保/etc/apt/sources.list
脚本具有相关的源代码才能运行。我修改了一些脚本,使其只适用于 Trusty,这就是我不必这样做的原因。
答案2
没有自动命令来获取针对特定错误需要安装的 CVE 或 USN ID。
您必须阅读相关软件包的更新日志、订阅 USN / CVE 通知,或者检查 Launchpad 上每个软件包的页面,以查看给定版本中给定软件包的更新日志。
(但是,没有只需输入命令即可获取列表。)