CPE version fields can be - to mean N/A, instead of * to mean ANY. This trips up the version parsing, and e.g. falsely report that thermald 1.9 is not vulnerable to CVE-2014-2312 when it is.
The CPE for that example is: cpe:2.3:a:debian:thermald:-:*:*:*:*:*:*:*
is it mean version '-' should be treat as any/all version too? the given example CVE updated with new CPE with version number specified. but there are other CVE with version '-', example https://nvd.nist.gov/vuln/detail/CVE-2018-16869 with CPE cpe:2.3:a:nettle_project:nettle:-:*:*:*:*:*:*:* and https://nvd.nist.gov/vuln/detail/CVE-2017-6386 with CPE cpe:2.3:a:virglrenderer_project:virglrenderer:-:*:*:*:*:*:*:*
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7c37e5c7cd4507c5d9e05de6e0d78cfb7e37ae9e this should report all the CVe with no version info