Debian/Ubuntu Linux:通过CVE编号查找是否已安装的APT软件包包含修订/补丁

时间:2020-01-09 10:41:34  来源:igfitidea点击:

在Debian Linux服务器如何查看已安装软件包的变更日志,并确定给定的CVE是否包含修订或补丁?

我如何查看已在Ubuntu或Debian LTS服务器上已应用于已安装软件包的修补程序或补丁?

在Debian,Ubuntu或Mint Linux上已安装软件包的更改日志通常按以下方式存储:

  • 目录:/usr/share/doc/$PackageNameHere /
  • Changelog文件名:changelog.Debian.gz

您可以使用less或zgrep命令查看/usr/share/doc/<PackageNameHere>/changelog.Debian.gz文件。

语法

您需要用实际的软件包名称替换<PackageNameHere>:

less /usr/share/doc/<PackageNameHere>/changelog.Debian.gz
zgrep 'cve-number-here' /usr/share/doc/<PackageNameHere>/changelog.Debian.gz

示例:查找lighttpd软件包更改日志

在此示例中,查看有关名为lighttpd的软件包的信息,执行:

less /usr/share/doc/lighttpd/changelog.Debian.gz

示例:查看lighttpd软件包中是否包含用于cve的修复程序/补丁#cve-2013-4559

要确定名为lighttpd的已安装软件包是否包含修订或补丁,请执行:

$ zgrep -i cve-2013-4559 /usr/share/doc/lighttpd/changelog.Debian.gz
  * Fix cve-2013-4559: setuid privilege escalation issue.

要显示所有cve,请执行:

$ zgrep -i cve /usr/share/doc/lighttpd/changelog.Debian.gz
  * Fix regression caused by the fix for cve-2013-4508 (closes: #729480).
  * Fix cve-2013-4508: ssl cipher suites issue.
  * Fix cve-2013-4559: setuid privilege escalation issue.
  * Fix cve-2013-4560: use-after-free in fam.
  * CVE-2013-1427: Switch the socket path for PHP when using FastCGI. /tmp is
    - CVE-2013-1427: Switch the socket path for PHP when using FASTCGI. /tmp

Debsecan

debsecan分析当前主机上已安装软件包的列表,并报告系统上发现的漏洞。

安装debsecan

使用apt命令/apt-get命令进行安装:

$ sudo apt install debsecan

debsecan用法

只需如下运行:

$ debsecan | more

您可以使用grep命令来搜索任何程序包名称或CVE,如下所示:

$ debsecan | grep -i openvpn

输出示例:

CVE-2016-7478 openvpn (remotely exploitable, medium urgency)
CVE-2016-7479 openvpn (remotely exploitable, medium urgency)
CVE-2016-7508 openvpn
CVE-2016-7520 openvpn
CVE-2016-7521 openvpn

或搜索CVE-2016-1000364

$ debsecan | grep -i CVE-2016-1000364