Project

General

Profile

Actions

Bug #5901

closed

Assertion failed in MIME parser

Added by Ivan Kapranov almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
Affected Versions:
Effort:
medium
Difficulty:
medium
Label:

Description

Hello there! I found two failed assertions in ProcessBase64BodyLine function during fuzz testing with sydr-fuzz.

Example of trace:

fuzz_mimedecparseline: util-decode-mime.c:1414: int ProcessBase64BodyLine(const uint8_t *, uint32_t, MimeDecParseState *): Assertion `!((state->bvr_len != 0))' failed

Build info:

This is Suricata version 6.0.10 RELEASE
Features: DEBUG_VALIDATION PCAP_SET_BUFF AF_PACKET HAVE_PACKET_FANOUT LIBCAP_NG LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HAVE_LIBJANSSON TLS TLS_C11 MAGIC RUST
SIMD support: none
Atomic intrinsics: 1 2 4 8 byte(s)
64-bits, Little-endian architecture
GCC version Clang 14.0.0 (https://github.com/llvm/llvm-project.git de5b16d8ca2d14ff0d9b6be9cf40566bc7eb5a01), C version 201112
compiled with _FORTIFY_SOURCE=0
L1 cache line size (CLS)=64
thread local storage method: _Thread_local
compiled with LibHTP v0.5.42, linked against LibHTP v0.5.42

Suricata Configuration:
  AF_PACKET support:                       yes
  eBPF support:                            no
  XDP support:                             no
  PF_RING support:                         no
  NFQueue support:                         no
  NFLOG support:                           no
  IPFW support:                            no
  Netmap support:                          no  using new api: no
  DAG enabled:                             no
  Napatech enabled:                        no
  WinDivert enabled:                       no

  Unix socket enabled:                     yes
  Detection enabled:                       yes

  Libmagic support:                        yes
  libnss support:                          yes
  libnspr support:                         yes
  libjansson support:                      yes
  hiredis support:                         no
  hiredis async with libevent:             no
  Prelude support:                         no
  PCRE jit:                                yes
  LUA support:                             no
  libluajit:                               no
  GeoIP2 support:                          no
  Non-bundled htp:                         no
  Hyperscan support:                       no
  Libnet support:                          yes
  liblz4 support:                          yes
  HTTP2 decompression:                     no

  Rust support:                            yes
  Rust strict mode:                        no
  Rust compiler path:                      /root/.cargo/bin/rustc
  Rust compiler version:                   rustc 1.67.1 (d5a82bbd2 2023-02-07)
  Cargo path:                              /root/.cargo/bin/cargo
  Cargo version:                           cargo 1.67.1 (8ecd4f20a 2023-01-10)
  Cargo vendor:                            yes

  Python support:                          yes
  Python path:                             /usr/bin/python3
  Install suricatactl:                     yes
  Install suricatasc:                      yes
  Install suricata-update:                 yes

  Profiling enabled:                       no
  Profiling locks enabled:                 no

  Plugin support (experimental):           yes

Development settings:
  Coccinelle / spatch:                     no
  Unit tests enabled:                      no
  Debug output enabled:                    no
  Debug validation enabled:                yes

Generic build parameters:
  Installation prefix:                     /usr/local
  Configuration directory:                 /usr/local/etc/suricata/
  Log directory:                           /usr/local/var/log/suricata/

  --prefix                                 /usr/local
  --sysconfdir                             /usr/local/etc
  --localstatedir                          /usr/local/var
  --datarootdir                            /usr/local/share

  Host:                                    x86_64-pc-linux-gnu
  Compiler:                                afl-clang-lto (exec name) / afl-clang-lto++ (real)
  GCC Protect enabled:                     no
  GCC march native enabled:                no
  GCC Profile enabled:                     no
  Position Independent Executable enabled: no
  CFLAGS                                   -g -fsanitize=address,bounds,integer,undefined,null,float-divide-by-zero -std=c11 -I${srcdir}/../rust/gen -I${srcdir}/../rust/dist
  PCAP_CFLAGS                               -I/usr/include
  SECCFLAGS

Files

crashes_and_reports.tar.gz (270 KB) crashes_and_reports.tar.gz Ivan Kapranov, 03/14/2023 04:41 PM

Related issues 1 (0 open1 closed)

Has duplicate Suricata - Bug #5883: mime: debug assertion on fuzz inputClosedShivani BhardwajActions
Actions #1

Updated by Victor Julien almost 2 years ago

The debug asserting is tracked in #5883. See also https://github.com/OISF/suricata/pull/8581
#5883 is also marked for backport (#5886).

Actions #2

Updated by Ivan Kapranov almost 2 years ago

Victor Julien wrote in #note-1:

The debug asserting is tracked in #5883. See also https://github.com/OISF/suricata/pull/8581
#5883 is also marked for backport (#5886).

I can't find task #5883. Is the task hidden?

Actions #3

Updated by Victor Julien almost 2 years ago

  • Has duplicate Bug #5883: mime: debug assertion on fuzz input added
Actions #4

Updated by Victor Julien almost 2 years ago

Ivan Kapranov wrote in #note-2:

I can't find task #5883. Is the task hidden?

Yes it was private. We default to private for tickets for oss-fuzz issues.

Actions #5

Updated by Ivan Kapranov almost 2 years ago

Victor Julien wrote in #note-4:

Ivan Kapranov wrote in #note-2:

I can't find task #5883. Is the task hidden?

Yes it was private. We default to private for tickets for oss-fuzz issues.

I see. Thanks!

Actions #6

Updated by Victor Julien almost 2 years ago

Closed as duplicate of #5883.

Actions #7

Updated by Victor Julien almost 2 years ago

  • Status changed from New to Closed
  • Assignee deleted (OISF Dev)
  • Target version deleted (6.0.11)
Actions

Also available in: Atom PDF