当前位置: 首页 > 科技观察

如何检查基于RHEL的Linux发行版中的软件包是否针对特定CVE进行了修补?_0

时间:2023-03-18 12:45:19 科技观察

【.com速译】CVE(CommonVulnerabilitiesandExposures)不断被发现和修补。一旦发现,就意味着操作系统或软件出现了新的安全漏洞,应尽快修补。当然,修复错误是开发人员的责任。但是,管理员(或用户)有责任修补这些漏洞。问题是,您可能不知道您使用的软件是否带有一个或多个CVE。您如何发现这些信息?你必须花几个小时研究它吗?不必要。事实上,您只需要知道您要查找的CVE及其影响的软件即可。通过这两条信息,可以快速查明基于RedHatEnterpriseLinux的发行版上安装的软件是否存在该漏洞。以下是如何做到这一点。你需要什么?您只需要一个基于RHEL的Linux发行版(例如AlmaLinux、RockyLinux或FedoraLinux)的运行实例。您甚至不需要具有sudo权限的用户帐户(只需一个普通用户)。您需要知道要查找哪个CVE。我更喜欢访问mitre.org上的CVE列表的官方主页。您可以按包快速搜索以查看包含相关CVE的完整包列表。操作系统和CVE准备就绪后,就该检查漏洞了。如何运行CVE检查?CVE检查很简单。我们希望将rpm命令的变更日志输出通过管道传输到grep命令,以列出任何可能的CVE。命令的语法如下:rpm-q--changelogPACKAGE|grepCVE其中PACKAGE是要检查的已安装软件的名称,CVE是相关CVE的全名。在我们这样做之前,让我们看一下OpenSSH包的非管道输出。执行命令:rpm-q--changelogopenssh输出应该是openssh变更日志的完整列表(见图A)。图A.AlmaLinux上安装的openssh版本的完整变更日志。您可以滚动浏览整个列表以找到您正在寻找的CVE,或者您可以通过grep将其传送并让命令完成繁重的工作。假设您正在寻找CVE-2020-14145,它被描述为:在OpenSSH7.9中,通过接受并显示来自服务器的任意stderr输出,恶意服务器(或中间人攻击者)可以操纵客户端输出,例如使用ANSI控制代码来隐藏传输中的额外文件。要检查该漏洞,命令如下:rpm-q--changelogopenssh|grepCVE-2020-14145如果您在输出中看到任何内容,则openssh已针对此漏洞进行了修补(见图B)。图B.OpenSSH在AlmaLinux中为CVE-2020-14145打了补丁如果您在输出中没有看到任何内容,则说明openssh尚未打补丁,您应该立即升级。只要openssh的开发人员修补源代码并添加到分发代码存储库,升级应该可以解决问题。要升级有问题的软件包,请执行命令(确实需要sudo权限):sudodnfPACKAGE其中PACKAGE是有问题的软件。升级完成后,再次运行CVE检查,查看软件包是否针对漏洞进行了修补。如果没有,请继续返回升级,希望软件维护者能尽快修复它。这就是在基于RHEL的Linux发行版上安装的软件包中检查CVE漏洞的全部内容。原标题:HowtocheckifpackagesinRHEL-basedLinuxdistributionshavebeenpatchedforspecificCVEs,作者:JackWallen