I created a test OVAL file to dig into this a little bit more.

$ cat com.ubuntu.test.cve.oval.xml 
<oval_definitions
    xmlns="http://oval.mitre.org/XMLSchema/oval-definitions-5";
    
xmlns:ind-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#independent";
    xmlns:oval="http://oval.mitre.org/XMLSchema/oval-common-5";
    xmlns:unix-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#unix";
    xmlns:linux-def="http://oval.mitre.org/XMLSchema/oval-definitions-5#linux";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://oval.mitre.org/XMLSchema/oval-common-5 
oval-common-schema.xsd   http://oval.mitre.org/XMLSchema/oval-definitions-5 
oval-definitions-schema.xsd   
http://oval.mitre.org/XMLSchema/oval-definitions-5#independent 
independent-definitions-schema.xsd   
http://oval.mitre.org/XMLSchema/oval-definitions-5#unix 
unix-definitions-schema.xsd   
http://oval.mitre.org/XMLSchema/oval-definitions-5#macos 
linux-definitions-schema.xsd">

    <generator>
        <oval:product_name>Canonical CVE OVAL Generator</oval:product_name>
        <oval:product_version>1.1</oval:product_version>
        <oval:schema_version>5.11.1</oval:schema_version>
        <oval:timestamp>2020-03-03T10:37:20</oval:timestamp>
    </generator>

    <definitions>
        <definition class="vulnerability" id="oval:com.ubuntu.test:def:200" 
version="1">
            <metadata>
                <title>CVE-1970-0200 on Ubuntu - high.</title>
                <description>OVAL TEST
                                To simulate a vunlerable package with no 
available patch being installed on the system.
                                Checks for the 'linux-doesnotexist-base' 
package to be installed on the system.
                                There is no 'linux-doesnotexist-base' package 
so it will never be installed.
                                This test should always return false (not 
vulnerable) and appear green in the report.</description>
                <affected family="unix">
                    <platform>Ubuntu</platform>
                </affected>
                <advisory>
                    <severity>High</severity>
                    <rights>Copyright (C) 2018 Canonical Ltd.</rights>
                    <public_date>2018-01-24 10:29:00 UTC</public_date>
                </advisory>
            </metadata>
            <criteria>
                <criterion test_ref="oval:com.ubuntu.test:tst:200" 
comment="linux-doesnotexist-base package is affected and needs fixing." />
            </criteria>
        </definition>
        <definition class="vulnerability" id="oval:com.ubuntu.test:def:300" 
version="1">
            <metadata>
                <title>CVE-1970-0300 on Ubuntu - high.</title>
                <description>OVAL TEST
                                This is the opposite of the previous test, just 
to confirm that oscap correct detects the installed package
                                Checks for the 'linux-base' package to be 
installed on the system.
                                There should always be a 'linux-base' package 
installed.
                                This test should always return true 
(vulnerable) and appear red/orange in the report.</description>
                <affected family="unix">
                    <platform>Ubuntu</platform>
                </affected>
                <advisory>
                    <severity>High</severity>
                    <rights>Copyright (C) 2018 Canonical Ltd.</rights>
                    <public_date>2018-01-24 10:29:00 UTC</public_date>
                </advisory>
            </metadata>
            <criteria>
                <criterion test_ref="oval:com.ubuntu.test:tst:300" 
comment="linux-base package in xenial is affected and needs fixing." />
            </criteria>
        </definition>
        <definition class="vulnerability" id="oval:com.ubuntu.test:def:400" 
version="1">
            <metadata>
                <title>CVE-1907-0400 on Ubuntu - high.</title>
                <description>OVAL TEST
                                To simulate an installed package that is 
vulnerable when there is an available version to fix the CVE.
                                Checks for version less than 
'99:99.9.9+dfsg-9ubuntu9.9' of the 'linux-base' package to be installed on the 
system.
                                There should always be a 'linux-base' package 
installed and the version will be less than '99:99.9.9+dfsg-9ubuntu9.9'.
                                This test should always return true 
(vulnerable) and appear red/orange in the report.</description>
                <affected family="unix">
                    <platform>Ubuntu</platform>
                </affected>
                <advisory>
                    <severity>High</severity>
                    <rights>Copyright (C) 2017 Canonical Ltd.</rights>
                    <public_date>2017-03-27 17:59:00 UTC</public_date>
                    <public_date_at_usn>2017-03-27</public_date_at_usn>
                </advisory>
            </metadata>
            <criteria>
                <criterion test_ref="oval:com.ubuntu.test:tst:400" 
comment="linux-base package in xenial was vulnerable but has been fixed (note: 
'99:99.9.9p9+dfsg-9ubuntu9.9')." />
            </criteria>
        </definition>
        <definition class="vulnerability" id="oval:com.ubuntu.test:def:500" 
version="1">
            <metadata>
                <title>CVE-1907-0500 on Ubuntu - high.</title>
                <description>OVAL TEST
                                To simulate an installed package that is 
updated to a patched version and not vulnerable to CVE.
                                Checks for version less than 
'00:00.0.0+dfsg-0ubuntu0.0' of the 'linux-base' package to be installed on the 
system.
                                There should always be a 'linux-base' package 
installed and the version will be greater than '00:00.0.0+dfsg-0ubuntu0.0'.
                                This test should always return false (not 
vulnerable) and appear green in the report.</description>
                <affected family="unix">
                    <platform>Ubuntu</platform>
                </affected>
                <reference source="CVE" ref_id="CVE-2017-6458" 
ref_url="https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-6458"; />
                <advisory>
                    <severity>High</severity>
                    <rights>Copyright (C) 2017 Canonical Ltd.</rights>
                    <public_date>2017-03-27 17:59:00 UTC</public_date>
                    <public_date_at_usn>2017-03-27</public_date_at_usn>
                </advisory>
            </metadata>
            <criteria>
                <criterion test_ref="oval:com.ubuntu.test:tst:500" 
comment="linux-base package in xenial was vulnerable but has been fixed (note: 
'0:00.0.0p0+dfsg-0ubuntu0.0')." />
            </criteria>
        </definition>
    </definitions>
    <tests>
        <linux-def:dpkginfo_test id="oval:com.ubuntu.test:tst:200" version="1" 
check_existence="at_least_one_exists" check="at least one" comment="Does the 
'linux-doesnotexist-base' package exist?">
            <linux-def:object object_ref="oval:com.ubuntu.test:obj:200"/>
        </linux-def:dpkginfo_test>
        <linux-def:dpkginfo_test id="oval:com.ubuntu.test:tst:300" version="1" 
check_existence="at_least_one_exists" check="at least one" comment="Does the 
'linux-base' package exist?">
            <linux-def:object object_ref="oval:com.ubuntu.test:obj:300"/>
        </linux-def:dpkginfo_test>
        <linux-def:dpkginfo_test id="oval:com.ubuntu.test:tst:400" version="1" 
check_existence="at_least_one_exists" check="at least one" comment="Does the 
'linux-base' package exist and is the version less than 
'99:99.9.9p9+dfsg-9ubuntu9.9'?">
            <linux-def:object object_ref="oval:com.ubuntu.test:obj:400"/>
        <linux-def:state state_ref="oval:com.ubuntu.test:ste:400" />
        </linux-def:dpkginfo_test>
        <linux-def:dpkginfo_test id="oval:com.ubuntu.test:tst:500" version="1" 
check_existence="at_least_one_exists" check="at least one" comment="Does the 
'linux-base' package exist and is the version less than 
'0:00.0.0p0+dfsg-0ubuntu0.0'?">
            <linux-def:object object_ref="oval:com.ubuntu.test:obj:500"/>
        <linux-def:state state_ref="oval:com.ubuntu.test:ste:500" />
        </linux-def:dpkginfo_test>
    </tests>
    <objects>
        <linux-def:dpkginfo_object id="oval:com.ubuntu.test:obj:200" 
version="1" comment="The 'linux-doesnotexist-base' package binaries.">
            <linux-def:name var_ref="oval:com.ubuntu.test:var:200" 
var_check="at least one" />
        </linux-def:dpkginfo_object>
        <linux-def:dpkginfo_object id="oval:com.ubuntu.test:obj:300" 
version="1" comment="The 'linux-base' package binaries.">
            <linux-def:name var_ref="oval:com.ubuntu.test:var:300" 
var_check="at least one" />
        </linux-def:dpkginfo_object>
        <linux-def:dpkginfo_object id="oval:com.ubuntu.test:obj:400" 
version="1" comment="The 'linux-base' package binaries.">
            <linux-def:name var_ref="oval:com.ubuntu.test:var:400" 
var_check="at least one" />
        </linux-def:dpkginfo_object>
        <linux-def:dpkginfo_object id="oval:com.ubuntu.test:obj:500" 
version="1" comment="The 'linux-base' package binaries.">
            <linux-def:name var_ref="oval:com.ubuntu.test:var:500" 
var_check="at least one" />
        </linux-def:dpkginfo_object>
    </objects>
    <states>
        <linux-def:dpkginfo_state id="oval:com.ubuntu.test:ste:400" version="1" 
comment="The package version is less than '99:99.9.9p9+dfsg-9ubuntu9.9'.">
            <linux-def:evr datatype="debian_evr_string" operation="less 
than">99:99.9.9p9+dfsg-9ubuntu9.9</linux-def:evr> 
        </linux-def:dpkginfo_state>
        <linux-def:dpkginfo_state id="oval:com.ubuntu.test:ste:500" version="1" 
comment="The package version is less than '0:00.0.0p0+dfsg-0ubuntu0.0'.">
            <linux-def:evr datatype="debian_evr_string" operation="less 
than">0:00.0.0p0+dfsg-0ubuntu0.0</linux-def:evr>
        </linux-def:dpkginfo_state>
    </states>
    <variables>
        <constant_variable id="oval:com.ubuntu.test:var:200" version="1" 
datatype="string" comment="'linux-doesnotexist-base' package binaries">
            <value>linux-doesnotexist-base</value>
        </constant_variable>
        <constant_variable id="oval:com.ubuntu.test:var:300" version="1" 
datatype="string" comment="'linux-base' package binaries">
            <value>linux-base</value>
        </constant_variable>
        <constant_variable id="oval:com.ubuntu.test:var:400" version="1" 
datatype="string" comment="'linux-base' package binaries">
            <value>linux-base</value>
        </constant_variable>
        <constant_variable id="oval:com.ubuntu.test:var:500" version="1" 
datatype="string" comment="'linux-base' package binaries">
            <value>linux-base</value>
        </constant_variable>
    </variables>
</oval_definitions>

I can run oscap against that test oval file successfully on trusty,
xenial and bionic VMs with the same results:

markmorlino@sec-bionic-amd64:~$ oscap oval eval --report report.html 
com.ubuntu.test.cve.oval.xml
Definition oval:com.ubuntu.test:def:500: false
Definition oval:com.ubuntu.test:def:400: true
Definition oval:com.ubuntu.test:def:300: true
Definition oval:com.ubuntu.test:def:200: false
Evaluation done.

I see very similar looking errors when I attempt to run the same oscap
command on eoan and focal:

markmorlino@sec-eoan-amd64:~$ oscap oval eval --report report.html 
com.ubuntu.test.cve.oval.xml
W: oscap:     Can't receive message: 103, Software caused connection abort.
Definition oval:com.ubuntu.test:def:500: error
W: oscap:     Can't receive message: 103, Software caused connection abort.
Definition oval:com.ubuntu.test:def:400: error
W: oscap:     Can't receive message: 103, Software caused connection abort.
Definition oval:com.ubuntu.test:def:300: error
Definition oval:com.ubuntu.test:def:200: false
OpenSCAP Error: Probe with PID=21031 has been killed with signal 11 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:178]
Probe with PID=21031 has core dumped. 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:182]
Item corresponding to object 'oval:com.ubuntu.test:obj:500' from test 
'oval:com.ubuntu.test:tst:500' has an unknown flag. This may indicate a bug in 
OpenSCAP. [../../../../src/OVAL/results/oval_resultTest.c:914]
Probe with PID=21047 has been killed with signal 11 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:178]
Probe with PID=21047 has core dumped. 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:182]
Item corresponding to object 'oval:com.ubuntu.test:obj:400' from test 
'oval:com.ubuntu.test:tst:400' has an unknown flag. This may indicate a bug in 
OpenSCAP. [../../../../src/OVAL/results/oval_resultTest.c:914]
Probe with PID=21062 has been killed with signal 11 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:178]
Probe with PID=21062 has core dumped. 
[../../../../../src/OVAL/probes/SEAP/sch_pipe.c:182]
Item corresponding to object 'oval:com.ubuntu.test:obj:300' from test 
'oval:com.ubuntu.test:tst:300' has an unknown flag. This may indicate a bug in 
OpenSCAP. [../../../../src/OVAL/results/oval_resultTest.c:914]


I also see these in /var/log/syslog:
Mar  4 09:13:50 sec-eoan-amd64 kernel: [12899.335657] traps: 
probe_worker[21104] general protection fault ip:7f44012cdc31 sp:7f43f9443138 
error:0 in libc-2.30.so[7f44011f4000+178000]
Mar  4 09:13:51 sec-eoan-amd64 kernel: [12899.427120] traps: 
probe_worker[21114] general protection fault ip:7fb6b97f0c31 sp:7fb6b1966138 
error:0 in libc-2.30.so[7fb6b9717000+178000]
Mar  4 09:13:51 sec-eoan-amd64 kernel: [12899.519719] traps: 
probe_worker[21124] general protection fault ip:7effa7110c31 sp:7eff9f286138 
error:0 in libc-2.30.so[7effa7037000+178000]



My test

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=1907-0400

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=1907-0500

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=1970-0200

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=1970-0300

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-6458

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1851682

Title:
  oscap is broken in ubuntu 19.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openscap/+bug/1851682/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to