我使用以下命令在 CentOS 5.9 上测试 RHSA-2014:1306:
oscap oval eval --id oval:com.redhat.rhsa:def:20141306 com.redhat.rhsa-all.xml
结果是:
Definition oval:com.redhat.rhsa:def:20141306: false
Evaluation done.
我希望它返回true
不是,false
因为安装的版本是bash-3.2-32.el5_9.1
,小于3.2-33.el5_11.4
。
如果我根据 XCCDF 文件进行评估,则输出如下:
Title RHSA-2014:1306: bash security update (Important)
Rule oval-com.redhat.rhsa-def-20141306
Ident RHSA-2014-1306
Ident CVE-2014-7169
Ident CVE-2014-7186
Ident CVE-2014-7187
Result pass
但是我的 bash 版本不应该通过。如果我测试Shellshock 漏洞,我得到了这个:
# env 'x=() { :;}; echo vulnerable' 'BASH_FUNC_x()=() { :;}; echo vulnerable' bash -c "echo test"
vulnerable
bash: BASH_FUNC_x(): line 0: syntax error near unexpected token `)'
bash: BASH_FUNC_x(): line 0: `BASH_FUNC_x() () { :;}; echo vulnerable'
bash: error importing function definition for `BASH_FUNC_x'
test
怎么会这样?
答案1
我能够成功测试 MITRE 的 CentOS 5 OVAL 补丁定义:http://oval.mitre.org/rep-data/5.10/org.mitre.oval/p/index.html
因此,看起来 Red Hat OVAL 定义在 CentOS 上评估时不起作用。