我遇到了这个问题,我正在尝试查看一组服务器是否容易受到 CVE CVE-2024-1086 的攻击,因此我在服务器中执行的操作是rpm -qa --changelog kernel | grep 2024-1086
,然后我得到了以下输出:
- netfilter: nf_tables: reject QUEUE/DROP verdict parameters (Florian Westphal) [RHEL-24009 2262126] {CVE-2024-1086}
,我认为这意味着该系统中的 CVE 已得到缓解。但是,客户说他们用来检查系统是否易受攻击的扫描仍然显示服务器易受攻击,您是否知道根据该输出,我可以说他们的扫描给出了误报,或者还有其他方法可以确认系统不再易受该 CVE 攻击?
首先,进入RedHat CVE 数据库并搜索 CVE-2024-1086。它将带您进入此页面,其中列出了每个 RHEL 版本中修复 CVE 的勘误表。
对于基本 RHEL 8.x(即最新补丁级别),它将是RHSA-2024-1607,对于 RHEL 8.8 扩展更新支持,它将是RHSA-2024-1404。
由于您显然正在根据内核版本号运行 RHEL 8.8,请查看 RHSA-2024-1404 页面上的“更新的软件包”选项卡。
它告诉您第一个包含您发布的补丁的内核包是
kernel-4.18.0-477.51.1.el8_8.x86_64.rpm
。您正在运行内核版本
4.18.0-477.55.1.el8_8.x86_64
。补丁级别477.55.1.el8_8
高于477.51.1.el8_8
,因此是的,您的内核已打上补丁,您不会受到攻击。客户端的扫描仪可能不知道 RHEL 8.8 扩展支持,因此“希望”查看内核版本
4.18.0-513.24.1.el8_9.x86_64
或更高版本,如果您已更新到 RHEL 8.9 或更高版本,这将是答案。但是,如果您使用的是 RHEL 8.8 扩展支持,最常见的原因是有一个昂贵的应用程序尚不支持 RHEL 8.9,或者只是该应用程序尚未获得认证,而客户希望/需要该应用程序处于认证状态。内核版本不应被视为单个递增线,而应视为树形图,因为可以有多个专用内核子系列。如您在上面链接的 RedHat CVE 数据库页面中看到的那样,RHEL 8.x 系列至少包括:
所有这些都有自己的内核 RPM,以及自己的补丁级别编号。如果您使用任何专用内核系列,您的客户端应验证其漏洞扫描程序是否也知道该特定内核系列,否则您将得到误报。
如果怀疑某个漏洞是否已被修补,则务必检查供应商 CVE 数据库中的最新适用补丁级别信息。
仅检查 RPM 更新日志可能表明漏洞已得到修补,但它不会告诉您安全研究人员是否后来意识到“哎呀,最初的补丁无法提供完整的保护,这里有更好的补丁”。在这种情况下,供应商的 CVE 数据库应该会直接向您指出最新的补丁。
因此,您可以确信,如果您的 RPM 补丁级别等于或大于 CVE 数据库中报告的修复级别,并且该版本实际正在运行,那么根据现有的最佳信息,该漏洞已经得到很好的修复。