Actions
Bug #3595
closedsslv3: asan detects leaks
Affected Versions:
Effort:
Difficulty:
Label:
Description
Not related to https://redmine.openinfosecfoundation.org/issues/3378 but mentioned there.
Had detected this while running on live traffic. Build info below.
[9040] 4/4/2020 -- 21:40:11 - (util-mpm-hs.c:1081) <Perf> (MpmHSGlobalCleanup) -- Cleaning up Hyperscan global scratch [114/1991] [9040] 4/4/2020 -- 21:40:11 - (util-mpm-hs.c:1089) <Perf> (MpmHSGlobalCleanup) -- Clearing Hyperscan database cache ================================================================= ==9040==ERROR: LeakSanitizer: detected memory leaks Direct leak of 53728 byte(s) in 1679 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32b142e (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x842e) Direct leak of 180 byte(s) in 18 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc301ed84 in pcre_get_substring (/lib/x86_64-linux-gnu/libpcre.so.3+0x28d84) Direct leak of 116 byte(s) in 1 object(s) allocated from: #0 0x4cf862 in realloc (/usr/bin/suricata+0x4cf862) #1 0x111af9f in alloc::alloc::realloc::hc365b4bd1305efa1 /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/alloc.rs:125:4 #2 0x111af9f in _$LT$alloc..alloc..Global$u20$as$u20$core..alloc..Alloc$GT$::realloc::h5274617238b8c05e /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/alloc.rs:184:21 #3 0x111af9f in alloc::raw_vec::RawVec$LT$T$C$A$GT$::reserve_internal::hf92e901fa5ea2fc3 /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/raw_vec.rs:659:20 #4 0x111af9f in alloc::raw_vec::RawVec$LT$T$C$A$GT$::reserve_exact::h259e82a6cdf740c7 /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/raw_vec.rs:399:14 #5 0x111af9f in alloc::vec::Vec$LT$T$GT$::reserve_exact::hca57a6f378cdea21 /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/liballoc/vec.rs:518:8 #6 0x111af9f in std::ffi::c_str::CString::from_vec_unchecked::h22f92dc651d3e09f /rustc/b8cedc00407a4c56a3bda1ed605c6fc166655447/src/libstd/ffi/c_str.rs:381:8 #7 0x6b68b3 in SSLv3ParseHandshakeType /opt/suricata/src/app-layer-ssl.c:1452:18 #8 0x6b31ce in SSLv3ParseHandshakeProtocol /opt/suricata/src/app-layer-ssl.c:1596:14 #9 0x6af642 in SSLv3Decode /opt/suricata/src/app-layer-ssl.c:2269:22 #10 0x6ab3ff in SSLDecode /opt/suricata/src/app-layer-ssl.c:2436:30 #11 0x6a79b3 in SSLParseServerRecord /opt/suricata/src/app-layer-ssl.c:2530:12 #12 0x66b887 in AppLayerParserParse /opt/suricata/src/app-layer-parser.c:1238:30 #13 0x51b28e in TCPProtoDetect /opt/suricata/src/app-layer.c:451:17 #14 0x5195e5 in AppLayerHandleTCPData /opt/suricata/src/app-layer.c:620:13 #15 0xd9fa2d in ReassembleUpdateAppLayer /opt/suricata/src/stream-tcp-reassemble.c:1098:11 #16 0xd9dfdb in StreamTcpReassembleAppLayer /opt/suricata/src/stream-tcp-reassemble.c:1155:12 #17 0xda57a7 in StreamTcpReassembleHandleSegmentUpdateACK /opt/suricata/src/stream-tcp-reassemble.c:1729:9 #18 0xda5430 in StreamTcpReassembleHandleSegment /opt/suricata/src/stream-tcp-reassemble.c:1772:9 #19 0xd75187 in HandleEstablishedPacketToServer /opt/suricata/src/stream-tcp.c:2297:9 #20 0xd3a3fd in StreamTcpPacketStateEstablished /opt/suricata/src/stream-tcp.c:2671:13 #21 0xd1c5b9 in StreamTcpStateDispatch /opt/suricata/src/stream-tcp.c:4690:17 #22 0xd12ca3 in StreamTcpPacket /opt/suricata/src/stream-tcp.c:4879:13 #23 0xd1d74c in StreamTcp /opt/suricata/src/stream-tcp.c:5215:11 #24 0xac7068 in FlowWorker /opt/suricata/src/flow-worker.c:241:9 #25 0xde7f71 in TmThreadsSlotVarRun /opt/suricata/src/tm-threads.c:117:21 #26 0xcc8f92 in TmThreadsSlotProcessPkt /opt/suricata/src/./tm-threads.h:192:17 #27 0xcbe6f5 in AFPParsePacketV3 /opt/suricata/src/source-af-packet.c:1127:9 #28 0xcbcc47 in AFPWalkBlock /opt/suricata/src/source-af-packet.c:1142:15 #29 0xcb0e06 in AFPReadFromRingV3 /opt/suricata/src/source-af-packet.c:1192:15 #30 0xcac5fc in ReceiveAFPLoop /opt/suricata/src/source-af-packet.c:1585:17 #31 0xdfe813 in TmThreadsSlotPktAcqLoop /opt/suricata/src/tm-threads.c:300:13 #32 0x7f9cc328ffa2 in start_thread (/lib/x86_64-linux-gnu/libpthread.so.0+0x7fa2) Indirect leak of 16081 byte(s) in 1237 object(s) allocated from: [65/1991] #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x31352e30 (<unknown module>) Indirect leak of 1200 byte(s) in 80 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3934312e3632 (<unknown module>) Indirect leak of 770 byte(s) in 55 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3133322e34 (<unknown module>) Indirect leak of 770 byte(s) in 55 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3739312e31 (<unknown module>) Indirect leak of 742 byte(s) in 53 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3834312e33 (<unknown module>) Indirect leak of 658 byte(s) in 47 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x38322e3933 (<unknown module>) Indirect leak of 546 byte(s) in 39 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x39322e3933 (<unknown module>) Indirect leak of 285 byte(s) in 19 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3839312e3030 (<unknown module>) Indirect leak of 252 byte(s) in 21 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x352e2f (<unknown module>) Indirect leak of 238 byte(s) in 17 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3737312e2f (<unknown module>) Indirect leak of 182 byte(s) in 13 object(s) allocated from: [15/1991] #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x30332e3634 (<unknown module>) Indirect leak of 150 byte(s) in 10 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x32332e383730 (<unknown module>) Indirect leak of 126 byte(s) in 9 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x39332e3531 (<unknown module>) Indirect leak of 84 byte(s) in 7 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x333230 (<unknown module>) Indirect leak of 70 byte(s) in 5 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3330312e2f (<unknown module>) Indirect leak of 48 byte(s) in 3 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3336312e343030 (<unknown module>) Indirect leak of 30 byte(s) in 2 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x35342e393730 (<unknown module>) Indirect leak of 20 byte(s) in 2 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x660030 in ModbusParseWriteRequest /opt/suricata/src/app-layer-modbus.c:789:33 Indirect leak of 16 byte(s) in 1 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3434312e343231 (<unknown module>) Indirect leak of 13 byte(s) in 1 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x3333312d (<unknown module>) Indirect leak of 12 byte(s) in 1 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x30322d (<unknown module>) Indirect leak of 12 byte(s) in 1 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x30312d (<unknown module>) Indirect leak of 11 byte(s) in 1 object(s) allocated from: #0 0x4cf443 in __interceptor_malloc (/usr/bin/suricata+0x4cf443) #1 0x7f9cc32aeb14 (/usr/lib/x86_64-linux-gnu/libjansson.so.4+0x5b14) #2 0x352d (<unknown module>) SUMMARY: AddressSanitizer: 76340 byte(s) leaked in 3377 allocation(s).
Suricata build info
suricata --build-info This is Suricata version 6.0.0-dev (9b5ccbe4d 2020-04-03) Features: PCAP_SET_BUFF AF_PACKET HAVE_PACKET_FANOUT LIBCAP_NG LIBNET1.1 HAVE_HTP_URI_NORMALIZE_HOOK PCRE_JIT HAVE_NSS HAVE_LUA HAVE_LUAJIT HAVE_LIBJANSSON TLS MAGIC RUST SIMD support: SSE_4_2 SSE_4_1 SSE_3 Atomic intrinsics: 1 2 4 8 16 byte(s) 64-bits, Little-endian architecture GCC version 4.2.1 Compatible Clang 7.0.1 (tags/RELEASE_701/final), C version 199901 compiled with _FORTIFY_SOURCE=0 L1 cache line size (CLS)=64 thread local storage method: __thread compiled with LibHTP v0.5.32, linked against LibHTP v0.5.32 Suricata Configuration: AF_PACKET support: yes eBPF support: yes XDP support: yes PF_RING support: no NFQueue support: no NFLOG support: no IPFW support: no Netmap support: 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: yes, through luajit libluajit: yes GeoIP2 support: yes Non-bundled htp: no Old barnyard2 support: Hyperscan support: yes Libnet support: yes liblz4 support: yes Rust support: yes Rust strict mode: yes Rust compiler path: /root/.cargo/bin/rustc Rust compiler version: rustc 1.42.0 (b8cedc004 2020-03-09) Cargo path: /root/.cargo/bin/cargo Cargo version: cargo 1.42.0 (86334295e 2020-01-31) Cargo vendor: yes Python support: yes Python path: /usr/bin/python3 Python distutils no Python yaml no Install suricatactl: no, requires distutils Install suricatasc: no, requires distutils Install suricata-update: not bundled Profiling enabled: no Profiling locks enabled: no Development settings: Coccinelle / spatch: yes Unit tests enabled: no Debug output enabled: no Debug validation enabled: no Generic build parameters: Installation prefix: /usr Configuration directory: /etc/suricata/ Log directory: /var/log/suricata/ --prefix /usr --sysconfdir /etc --localstatedir /var --datarootdir /usr/share Host: x86_64-pc-linux-gnu Compiler: clang (exec name) / g++ (real) GCC Protect enabled: no GCC march native enabled: yes GCC Profile enabled: no Position Independent Executable enabled: no CFLAGS -ggdb3 -O0 -Werror -Wchar-subscripts -Wshadow -Wall -Wextra -Werror -Wno-unused-parameter -Wno-unused-function -fno-strict-aliasing -fstack-protector-all -fsanitize=address -fno-omit-frame-pointer -Wno-unused-parameter -Wno-unused-function -march=native -I${srcdir}/../rust/gen PCAP_CFLAGS -I/usr/include SECCFLAGS
Actions