github zeek/zeek v3.1.2

latest releases: latest, v6.2.0, v6.2.0-rc1...
4 years ago

This release fixes the following security issue:

  • Fix stack overflow in POP3 analyzer
    bb3250c

    Thanks to Matteo Rizzo (Google) for reporting this issue.

    Impact: An attacker can crash Zeek remotely via crafted packet sequence.

    Affected versions: All versions since at least late 2010 and possibly earlier.

    POP3Analyzer parses the POP3 protocol. The affected code processes AUTH_PLAIN
    authentication requests, in which the client authenticates to the server by
    sending its credentials to the server as base64-encoded plaintext. Zeek
    allocates a variable length array (VLA) on the stack that is as big as the
    credentials sent by the client. GCC implements VLA allocation by subtracting
    the size of the VLA from the stack pointer. When the credentials sent by the
    client are larger than the available stack space, the stack pointer lands
    into the unmapped memory that the OS places above the stack. When that
    happens, the call to memcpy immediately below causes Zeek to crash with a
    segmentation fault because the destination address now points to unmapped
    memory. An attacker can crash Zeek by sending a very long credential line.

    This class of bug is normally turned into a memory corruption primitive by
    moving the stack pointer into a writable region (for example a library) and
    overwriting that region. However in this case it is not possible to move the
    stack pointer far enough because ContentLineAnalyzer limits the length of the
    credentials to slightly less than 16MiB by default. Therefore it should not
    be possible to gain remote code execution using this bug, but only to crash
    Zeek.

Also fixed are the following bugs:

  • Fix use-after-free in Zeek lambda functions with uninitialized locals
    #845

  • Fix buffer overflow due to tables/records created at parse-time not rebuilt on record redef
    #860

  • Fix SMB NegotiateContextList parsing
    #869

  • Fix binpac flowbuffer frame length parsing doing too much bounds checking
    #873

  • Fix parsing ERSPAN III optional sub-header
    42dc290

  • Fix bug in intel indicator normalization
    #883

  • Fix connection duration thresholding
    #899

  • Fix using patterns as table/set indices
    #902

  • Fix X509Common.h header include for external plugins
    c835672

  • Fix incorrect targeting of node-specific Broker/Cluster messages
    ce9183a
    zeek/broker@0d04bf4

Reminder: Zeek 3.0.x is the Long-Term Support release, receiving bug fixes until at least October 2020 while Zeek 3.1.x is the current feature release, receiving bug fixes until approximately July 2020 when the 3.2.x release series begins.

Don't miss a new zeek release

NewReleases is sending notifications on new releases.