Я использую следующую команду для тестирования RHSA-2014: 1306 в CentOS 5.9:
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
Как это могло произойти?
Мне удалось успешно протестировать определение патча CentOS 5 OVAL от MITER: http://oval.mitre.org/rep-data/5.10/org.mitre.oval/p/index.html
Итак, похоже, что определения Red Hat OVAL не будут работать при оценке в CentOS.