github alexandreborges/malwoverview v8.2.0
Malwoverview 8.2.0

3 hours ago

This version adds a component vulnerability search, gives every NIST
query a chosen ordering reference, and repairs the queries themselves,
which returned only a fraction of the CVEs that matched.

NEW OPTIONS

  1. --nist 6 lists the CVEs associated with a component, given either its
    name or the path to a local binary. Naming it works on any platform:
    --nist 6 --NIST openssl, WebKit or Safari. Pointing at a Windows PE
    searches three keys and merges the results: the file name on disk, the
    internal name in its VERSIONINFO and its component description, so
    --nist 6 --NIST afd.sys matches 7 CVEs while passing the driver itself
    matches 74, because modern NVD entries name the component ("Ancillary
    Function Driver for WinSock") and not the file. A file that is not a
    Windows PE carries no such metadata, so only its name is searched and
    the report says so. Off Windows, name the project rather than the file
    it ships as: libssl.so.3 matches 9 CVEs where openssl matches 658.
    Results are a table, most recent first.

REPAIRED OPTIONS

  1. --nist 1, 3, 4 and 5 returned only the last one percent of the CVEs
    that matched and discarded everything older than the previous year, so
    a keyword search for "Ancillary Function Driver" reported 1 CVE of the
    74 that matched and --time did not recover them. The queries now
    paginate through the whole result set, and a year filter is applied
    only when --time asks for one.

  2. --nist 1 sent a CPE to NIST only when the value carried a concrete
    version; every other value, including a CPE without a version, became
    a keyword search over the CVE text. A partial CPE is now matched as a
    CPE, so --nist 1 --NIST "cpe:2.3:a:openbsd:openssh" reports the 137
    CVEs of the product instead of the descriptions that mention it.

NEW BEHAVIOUR

  1. All NIST results are ordered most recent first, by the year in the CVE
    ID. NVD often publishes a record years after its ID was assigned, so
    --sort-by published orders by the NVD publication date instead. The
    choice governs --time as well, which used to bound results by the CVE
    ID year while the table was ordered by publication date: --time 5 on
    a component listed 17 CVEs when 28 had been published inside that
    window. Both surfaces now use one reference, and the closing line of
    the table names which one produced the order.

  2. --nist 6 lists the 25 most recent CVEs, since the whole history of a
    component is rarely what is wanted. --ncves lists more,
    --ncves 0 lists all and --time bounds them by year.

  3. NIST matches the words of a keyword separately rather than as a
    phrase, so a component named with common words also matches other
    vendors' products: "HTTP Protocol Stack" matches Apache, Envoy and
    Novell CVEs. A Vendor column and a closing line name the vendors of
    the affected products, taken from the CPE data of each CVE, and the
    exported records carry them.

  4. --rpp is the page size used while paginating and defaults to 2000, the
    NIST maximum. A query that cannot be retrieved completely now says so
    instead of silently returning its oldest part.

INTERACTIVE AND GRAPHICAL MODES

  1. The component search is reachable as "nist component <name|file>" in
    interactive mode and as NIST Component in the TUI.

REPORTS

  1. Advisory lines are wrapped by terminal cells instead of by characters,
    so a value holding East Asian characters no longer runs past the rule
    of its own table. Every report that prints an advisory is affected.

The changes below are security fixes.

  1. LOW: every value that becomes part of an NIST query is now length
    capped and stripped of terminal control characters, whether it was
    typed, taken from a file name or read out of a binary, and the file
    handle is released when a binary cannot be parsed.

  2. LOW: a negative --ncves printed an empty table instead of the CVEs
    that matched, and a negative --time discarded all of them. Both now
    list everything rather than reporting a component as clean.

Don't miss a new malwoverview release

NewReleases is sending notifications on new releases.