]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Fri, 5 Feb 2021 20:33:35 +0000 (21:33 +0100)]
detect/analyzer: fix json output for warnings/notes
(cherry picked from commit
57f7612ffd6de650943607f2fb168015e45a39e1 )
Jason Ish [Wed, 30 Jun 2021 14:44:39 +0000 (08:44 -0600)]
release: 6.0.3; update changelog; require htp 0.5.38
Jason Ish [Wed, 30 Jun 2021 16:03:35 +0000 (10:03 -0600)]
rust/ike: suppress some compile warnings when not debug
Due to
ef5755338fa6404b60e7f90bfbaca039b2bfda1e , the variables
that are only used for debug output now emit unused variable
warnings when Suricata is not built with debug. Prefix these
variables with _ to suppress these warnings.
Shivani Bhardwaj [Fri, 25 Jun 2021 10:29:31 +0000 (15:59 +0530)]
ikev2: remove transforms fields
Philippe Antoine [Thu, 29 Apr 2021 09:57:15 +0000 (11:57 +0200)]
swf: right input length for decompression
(cherry picked from commit
4d2f9cc8a0409bb03f5d285bb83d64afec08ba2a )
Victor Julien [Thu, 13 May 2021 06:06:11 +0000 (08:06 +0200)]
detect: set event if max inspect buffers exceeded
If a parser exceeds 1024 buffers we stop processing them and
set a detect event instead. This is to avoid parser bugs as well as
crafted bad traffic leading to resources starvation due to excessive
loops.
(cherry picked from commit
e611adf3dc5b531a9d0ef9b861b4dbe0e150eae6 )
Victor Julien [Thu, 13 May 2021 05:50:12 +0000 (07:50 +0200)]
detect: fix multi inspect buffer issue; clean up
Fix multi inspect buffer API causing cleanup logic in the single
inspect buffer paths. This could lead to a buffer overrun in the
"to clear" logic.
Multi buffers now use InspectionBufferSetupMulti instead of
InspectionBuffer. This is enforced by a check in debug validation.
Simplify the multi inspect buffer setup code and update the callers.
(cherry picked from commit
3dc50322db0efb92683b9578c7dccd1fae4b5cb2 )
Philippe Antoine [Thu, 6 May 2021 11:30:49 +0000 (13:30 +0200)]
rust: SCLogDebug is real nop when built as release
Before, even if there were no outputs, all the arguments
were evaluated, which could turn expensive
All variables which are used only in certain build configurations
are now prefixed by underscore to avoid warnings
(cherry picked from commit
ef5755338fa6404b60e7f90bfbaca039b2bfda1e )
Victor Julien [Mon, 21 Jun 2021 19:10:55 +0000 (21:10 +0200)]
mqtt: move sub/unsub limits into app-layer config
(cherry picked from commit
3c1cc1e345bc9f78988411efa8461351d24efe98 )
Sascha Steinbiss [Mon, 10 May 2021 12:54:47 +0000 (14:54 +0200)]
detect/mqtt: add topic inspection limit
We add a new 'mqtt.(un)subscribe-topic-match-limit' option
to allow a user to specify the maximum number of topics in
a MQTT SUBSCRIBE or UNSUBSCRIBE message to be evaluated
in detection.
(cherry picked from commit
4c0ef73bf21f5b07c5c34fd2dc5f6d9c166bc6da )
Philippe Antoine [Thu, 6 May 2021 07:25:49 +0000 (09:25 +0200)]
detect: use u32 for InspectionBufferMultipleForList
So that we do not have an endless loop casting index to
u16 and having more than 65536 buffers in one transaction
Changes for all protocols, even ones where it is impossible
to have such a pattern, so as to avoid bad pattern copy/paste
in the future
(cherry picked from commit
7d0a39412bb451443a4e19e6571ab86a0583214c )
Philippe Antoine [Mon, 12 Apr 2021 14:56:33 +0000 (16:56 +0200)]
dcerpc: handles bigger inputs than 2^16
By comparing integers with the largest size
(cherry picked from commit
6f03ee2e47d331aa29524d81777c970415b817f1 )
Philippe Antoine [Thu, 22 Apr 2021 08:28:15 +0000 (10:28 +0200)]
smtp: null terminate before calling strtoul
by copying in a temporary buffer
as is done in ByteExtractString
(cherry picked from commit
33fa7ab5969d3fc5ca088c003bd4dbfe76d77b6b )
Eric Leblond [Fri, 28 May 2021 09:38:18 +0000 (11:38 +0200)]
stream/tcp: avoid evasion linked to ACK handling
Actual code will completely discard TCP analysis of a packet that
don't have the ACK bit set but have a ACK value set. This will be
for example the case of all SYN packets that have a ACK value.
Problem is that these type of packets are legit for the operating
systems and for the RFC. The consequence is that an attacker
sending a SYN packet with a non null ACK value will open succesfully
a TCP session to its target and this session will have no protocol
discovery, no TCP streaming and no application layer analysis.
Result is a quasi full evasion of the TCP stream that will only
appear in the flow log if this log is enable or alert on tcp-pkt
signature that are uncommon.
The patch is updating the code to only discard packets that do not
have the SYN flag set. This prevents the evasion and complies with the
RFC that states that the ACK bit should always be set once the
TCP session is established.
This addresses CVE-2021-35063.
Fixes: fa692df37 ("stream: reject broken ACK packets")
Bug: #4512.
Philippe Antoine [Tue, 9 Mar 2021 14:22:47 +0000 (15:22 +0100)]
dnp3: fixes use after realloc/free in output
OutputJsonBuilderBuffer can realloc the buffer
So, we need to give it the right reference
Philippe Antoine [Mon, 17 May 2021 14:27:49 +0000 (16:27 +0200)]
doc: update sphinx api to use add_css_file
instead of deprecated add_stylesheet
(cherry picked from commit
95f225e8fbd5d352a8ca86cd317f908034966ed4 )
Jason Ish [Mon, 21 Jun 2021 20:00:45 +0000 (14:00 -0600)]
rust/template: suppress unread variable warning
Suppress the warning about an unused variable in the template
parser. As this is just a template I think this is OK, however
master should make sure this variable is used, if only to be
more self documenting.
Sascha Steinbiss [Tue, 22 Jun 2021 07:33:24 +0000 (09:33 +0200)]
rust: fix warnings with nightly
Philippe Antoine [Tue, 22 Jun 2021 06:16:40 +0000 (08:16 +0200)]
modbus: fix memory leak in signature parsing
Bug: #4538.
Philippe Antoine [Fri, 11 Jun 2021 12:13:44 +0000 (14:13 +0200)]
config: fix null dereference in MacSetRegisterFlowStorage
Crash happens with
--set outputs.eve-json.types.files.force-magic=yes
(cherry picked from commit
8bf653054025e6297f05ec211a0baa44cf795704 )
Philippe Antoine [Wed, 26 May 2021 08:16:54 +0000 (10:16 +0200)]
http2: make http1 rules work on http2 traffic optional
Philippe Antoine [Mon, 7 Dec 2020 13:41:00 +0000 (14:41 +0100)]
proto: introduce signature protocol, as extension to flow protocol
AppProtoEquals function allows to check if a flow protocol
matches a signature protocol
This allows HTTP1 keywords on HTTP2 traffic
Philippe Antoine [Thu, 21 Jan 2021 13:44:33 +0000 (14:44 +0100)]
ftp: ftp-data recognized by StringToAppProto
(cherry picked from commit
43f25f127f069292e5e92377b82d40df2c3cb2d4 )
Philippe Antoine [Mon, 26 Apr 2021 12:39:24 +0000 (14:39 +0200)]
http2: http.stat_code keyword now works for HTTP2
(cherry picked from commit
1e96272576cc6cd734f973e16594dbc1a1e383f6 )
Philippe Antoine [Mon, 26 Apr 2021 13:50:44 +0000 (15:50 +0200)]
http2: http.cookie keyword now works for HTTP2
(cherry picked from commit
999327ba1f02904f219c4ffe6ff1d952facddc92 )
Philippe Antoine [Mon, 26 Apr 2021 13:01:53 +0000 (15:01 +0200)]
http2: makes all HTTP1 header keywords work
(cherry picked from commit
017e39d8fd59028d07efa281c8fb9250b33a056f )
Philippe Antoine [Mon, 26 Apr 2021 13:37:57 +0000 (15:37 +0200)]
http2: http.host.raw keyword now works for HTTP2
(cherry picked from commit
df039555bce1ca52f93a34cd1dc8f8ef43e6d05d )
Philippe Antoine [Mon, 26 Apr 2021 13:17:09 +0000 (15:17 +0200)]
http2: http.method keyword now works for HTTP2
(cherry picked from commit
1e82d0b3c88309461252680fe87bd4bdeaf2b26b )
Philippe Antoine [Thu, 17 Dec 2020 12:26:35 +0000 (13:26 +0100)]
http2: http.user_agent keyword now works for HTTP2
(cherry picked from commit
47928babfc4adcd897aaa8c485f031683caf8f78 )
Philippe Antoine [Thu, 17 Dec 2020 13:19:25 +0000 (14:19 +0100)]
http2: http.uri.raw keyword now works for HTTP2
(cherry picked from commit
5d676c5998aeb33c529e8ee8efcaa2fdf10324ef )
Philippe Antoine [Tue, 8 Dec 2020 11:46:24 +0000 (12:46 +0100)]
http2: http.uri keyword now works for HTTP2
cf #4067
(cherry picked from commit
a98d0fe6edcd6bd5af460c067caca3021f543587 )
Philippe Antoine [Tue, 12 Jan 2021 15:42:48 +0000 (16:42 +0100)]
http2: allow http1 keywords for http2 traffic
Adding a special case in DetectSignatureSetAppProto
Philippe Antoine [Thu, 22 Apr 2021 07:41:30 +0000 (09:41 +0200)]
http2: only mimic http1 request if there is one
That may not be the case in midstream/async configurations
(cherry picked from commit
d00b755b647a69eb4d4a10adb57be45fd4d14c7d )
Mats Klepsland [Thu, 27 May 2021 10:02:55 +0000 (12:02 +0200)]
thresholds: Fix buffer overflow in threshold context
th_entry is resized using ThresholdHashRealloc() every time a rule with
a threshold using by_rule tracking is added. The problem is that this is
done before the rules are reordered, so occasionally a rule with by_rule
tracking gets a higher signature number (after reordering) than the
number of th_entries allocated, causing Suricata to crash.
This commit fixes this by allocating th_entries after all the rules are
loaded and reordered.
Backtrace from core dump:
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000000000051b381 in ThresholdHandlePacket (p=p@entry=0x7fb0080f3960, lookup_tsh=0x51, new_tsh=new_tsh@entry=0x7fb016c316e0, td=td@entry=0x14adedf0, sid=
9800979 , gid=1, pa=0x7fb0080f3b18)
at detect-engine-threshold.c:415
415>---- if (TIMEVAL_DIFF_SEC(p->ts, lookup_tsh->tv1) < td->seconds) {
Bug #4503.
(cherry picked from commit
2a326421aa29154ebfaada3888974a634feb5f56 )
Mats Klepsland [Thu, 27 May 2021 09:04:15 +0000 (11:04 +0200)]
thresholds: syntax fixes
Fix syntax of if statement in SigGetThresholdTypeIter()
(cherry picked from commit
f47e4375b3310554c13561efb2f382f04bd24340 )
Mats Klepsland [Thu, 27 May 2021 08:59:36 +0000 (10:59 +0200)]
thresholds: remove unneeded function argument
Remove packet pointer from SigGetThresholdTypeIter() as it is
unused.
(cherry picked from commit
b0b4fab7949dddeaf4c1b844c403dcc2c2470595 )
Philippe Antoine [Fri, 4 Jun 2021 08:28:10 +0000 (10:28 +0200)]
rust: fix app-layer parser flags
This especially allows for SSH bypass to work
(cherry picked from commit
fdab22d924702168e3b7d07d061009ebdcfa9aa9 )
Philippe Antoine [Tue, 27 Apr 2021 07:03:45 +0000 (09:03 +0200)]
ftp: completely parses pasv and epsv responses
(cherry picked from commit
ca6e434e0b84dc8478763dc0a8716c5e3686a99a )
Jason Ish [Thu, 25 Feb 2021 17:16:28 +0000 (11:16 -0600)]
unix-socket: reset to ready state on startup
As part of commit
ea15282f47c6ff781533e3a063f9c903dd6f1afb ,
some initialization was moved to happen even in unix socket mode,
however, this initialization does setup some loggers that can only have
one instance enabled (anomaly, drop, file-store).
This will cause these loggers to error out on the first pcap, but work
on subsequent runs of the pcap as some deinitialization is done after
each pcap.
This fix just runs the post pcap-file deinitialization routine to
reset some of the initialization done on startup, like is done after
running each pcap in unix socket mode.
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4225
Additionally this prevents alerts from being logged two times
on the first run of a pcap through the unix socket:
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4434
(cherry picked from commit
488d5fb34284f7e5be760edeca7607209cfa4b5e )
Philippe Antoine [Mon, 31 May 2021 15:14:48 +0000 (17:14 +0200)]
http2: make decompression a configure-time option
Philippe Antoine [Fri, 23 Apr 2021 19:55:20 +0000 (21:55 +0200)]
http2: have filecontainer for both directions
(cherry picked from commit
6fe8bce3b0c653df8e72bdb81bc235672386b8b1 )
Philippe Antoine [Tue, 16 Mar 2021 12:07:30 +0000 (13:07 +0100)]
http2: adds check about dynamic headers table size
(cherry picked from commit
3de0123ffbf355e3d3de318080f18bd639ec9beb )
Victor Julien [Tue, 18 May 2021 13:07:02 +0000 (15:07 +0200)]
http2: remove dead code
(cherry picked from commit
de280c47d9776c3c16743bb01f8cceb6e97ad94a )
Philippe Antoine [Tue, 18 May 2021 07:52:53 +0000 (09:52 +0200)]
http2: remove assertion which can be wrong
Brotli decoder stops consuming input it it reaches the
end of its input
(cherry picked from commit
b3c502d572693368aba277d28aefc9c9cfe685af )
Philippe Antoine [Mon, 5 Apr 2021 13:53:09 +0000 (15:53 +0200)]
http2: pass data through when decompression fails
as is done for HTTP1
(cherry picked from commit
1ca4f041bb452742f326985479fca9a02473649f )
Philippe Antoine [Thu, 12 Nov 2020 08:24:36 +0000 (09:24 +0100)]
http2: decompression for files
gzip and brotli decompression for files
(cherry picked from commit
d8612282149df27be47f7aaba906ea08dcc3952e )
Philippe Antoine [Tue, 8 Dec 2020 13:53:01 +0000 (14:53 +0100)]
rust: BIT_U16 macro utility
(cherry picked from commit
2e46b5d1001d61da2131c42554eff10b7400ad81 )
Philippe Antoine [Sun, 6 Dec 2020 19:36:45 +0000 (20:36 +0100)]
rust: better panic message for missing file config
(cherry picked from commit
aee8e601491c60aac9ee158918a4110df87bcc1e )
Jeff Lucovsky [Fri, 4 Jun 2021 12:26:09 +0000 (08:26 -0400)]
decode/vntag: By default, disable vntag decoding
This commit makes the VNTag decoder off by default.
Jeff Lucovsky [Sun, 25 Apr 2021 13:20:54 +0000 (09:20 -0400)]
decode/vntag: Add VNTag decoder logic
(cherry picked from commit
0f0cb5169f378614c753328e2d0396f5b9211a38 )
Jeff Lucovsky [Sat, 24 Apr 2021 19:44:17 +0000 (15:44 -0400)]
tests/vntag: VNTAG decoder unittests
(cherry picked from commit
596d7608333290d22ea6cee26a79eb4f9ca8605d )
Jeff Lucovsky [Sat, 24 Apr 2021 19:43:50 +0000 (15:43 -0400)]
decode/vntag: VNTAG 802.1Qbh decoder
(cherry picked from commit
713bace44f05c4b900c35ad2da537ef5e0ad18ec )
Jeff Lucovsky [Sat, 24 Apr 2021 19:42:48 +0000 (15:42 -0400)]
decode/stats: VNTAG stats
(cherry picked from commit
b944e636a8dfa34971d0375baa1cb3fa764bb2e0 )
Jeff Lucovsky [Sat, 24 Apr 2021 19:38:16 +0000 (15:38 -0400)]
decode/events: VNTAG decoder events
(cherry picked from commit
1ddad0a0d610265baea902387eb40d7012c8c841 )
Jeff Lucovsky [Sat, 24 Apr 2021 19:36:57 +0000 (15:36 -0400)]
decode: Add ethertype for VNTAG
(cherry picked from commit
049afde3a275ab748f4ef1f4777b9cfd5dd400ce )
Shivani Bhardwaj [Fri, 30 Apr 2021 06:55:58 +0000 (12:25 +0530)]
github: Update codeowner handle
(cherry picked from commit
0c5a8fb35d3f60b3828c5e7b91f4bb9e6c37990c )
Jason Ish [Tue, 25 May 2021 16:18:56 +0000 (10:18 -0600)]
rust: pin memchr to ~2.3
2.4+ requires a newer version of Rust.
Jason Ish [Tue, 25 May 2021 17:39:31 +0000 (11:39 -0600)]
makefile: don't include the whole test/ directory
Including the whole directory results in .deps files ending up
in the distribution archive which shouldn't be there. Instead
we have to list all the test sources individually.
Backport of
70b21df75633253ac8318f229de2f521c14a6630 .
Philippe Antoine [Thu, 11 Mar 2021 21:17:13 +0000 (22:17 +0100)]
rdp: correctly returns incomplete in parse_tc
Adding the already consumed bytes
In case an incomplete tls handshake is handled with/after
a refular rdp t123_tpkt
(cherry picked from commit
6da9a37285a50b513077e5c88094f8112740ffcb )
Philippe Antoine [Thu, 8 Apr 2021 15:44:01 +0000 (17:44 +0200)]
ftp: fixes leak with duplicate expectation
(cherry picked from commit
68d6922e3cc47c2608e1ac3614c6bd3a48185a12 )
Jeff Lucovsky [Sun, 11 Apr 2021 16:20:15 +0000 (12:20 -0400)]
output/log: Ensure files closed in threaded mode
This commit ensures that file objects are closed in threaded mode.
(cherry picked from commit
38ae21a19691466b078a6201494df893bc91308c )
Jeff Lucovsky [Mon, 12 Apr 2021 13:12:23 +0000 (09:12 -0400)]
output/log: Removed pcie (Tilera) log vestiges
This commit removes the last remnants of the Tilera log output mechanism
(unsupported since 5.0.x).
(cherry picked from commit
aa9ad56a5b0faeb9528558f6197ff967c6714e94 )
Luke Coughlan [Mon, 26 Apr 2021 12:05:15 +0000 (13:05 +0100)]
flow/bypass: Properly set the ICMP emergency-bypassed value
Currently the ICMP emergency-bypassed value defined in suricata.conf is
overwriting the UDP value rather than correctly setting it for ICMP.
This commit corrects this bug so that the ICMP value can be set as
expected.
(cherry picked from commit
7fb56a9075a97cd9781d08efd0f949b0bfca2719 )
Philippe Antoine [Thu, 11 Mar 2021 15:12:36 +0000 (16:12 +0100)]
kerberos: fix probing parser tag condition
according to the comment
(cherry picked from commit
cb150e97d09baea09a738388426eafad3cccff2a )
Victor Julien [Wed, 10 Mar 2021 12:25:55 +0000 (13:25 +0100)]
detect/alert: apply pd only actions to flow
Ticket #4394
(cherry picked from commit
6cf44fc839e8f1da820095928b5b25e7fc0a8521 )
Victor Julien [Tue, 9 Mar 2021 19:56:14 +0000 (20:56 +0100)]
detect/alert: minor code refactor
Use a simpler reject check and move logic into util func.
(cherry picked from commit
6c594d29db55bb0d6f28f0a5fa758c3e00a86ca1 )
Victor Julien [Tue, 9 Mar 2021 15:25:14 +0000 (16:25 +0100)]
detect/iponly: don't check & set flow flags twice
Per flow IP-only flags are checked and set by IP-only engine, so
no need to set/check them per alert.
(cherry picked from commit
fbcdd2ec267d49040ca178f8562767d8fb00aa73 )
Jeff Lucovsky [Sat, 5 Dec 2020 14:28:38 +0000 (09:28 -0500)]
threshold-config: Improve support for big IP lists
(cherry picked from commit
ef62761e8c64d1644f2628ca7fc99e815bd96b88 )
Jeff Lucovsky [Mon, 29 Mar 2021 12:30:59 +0000 (08:30 -0400)]
detect/threshold: Improve threshold.config perf
This commit improves performance when parsing threshold.config by
removing a loop-invariant to create a one-time object with the parsed
address(es).
Then, as needed, copies of this object are made as the suppression
rule(s) are processed.
(cherry picked from commit
02ceac8b8d4473de5f373a4785a1c143778b06e1 )
Jeff Lucovsky [Mon, 29 Mar 2021 12:28:50 +0000 (08:28 -0400)]
detect/threshold: Function to deep-copy thresh obj
This commit adds a function to make a deep copy of a DetectThresholdData
object.
The function is used when parsing threshold.config items to make a
one-time object and then add copies as needed.
(cherry picked from commit
e873632a2811be4cd370336d43fcc5619bcd28e2 )
Jeff Lucovsky [Mon, 29 Mar 2021 12:26:40 +0000 (08:26 -0400)]
detect/address: Expose DetectAddressCopy function
(cherry picked from commit
11f9cc6524958d11b6d9ab1f0785bfe16237096f )
Jeff Lucovsky [Mon, 29 Mar 2021 12:33:02 +0000 (08:33 -0400)]
general: Typo cleanup
(cherry picked from commit
2893b04ab014c4dcc0bfc4c6f9dbf83fd44717a1 )
Victor Julien [Fri, 12 Mar 2021 09:22:01 +0000 (10:22 +0100)]
eve/drop: use highest priority drop
When adding the alert to a drop record make sure the add the highest
priority.
It would until now add all drops from high to low prio, effectively
overwriting the record each time.
Ticket #4397
(cherry picked from commit
398ebf934509a8d27a1c8b858eae061b89d5c44a )
Jason Ish [Thu, 22 Apr 2021 14:52:08 +0000 (08:52 -0600)]
misc: include queue.h before other headers
At least on FreeBSD, some other include is including "sys/queue.h"
which results in FreeBSDs /usr/include/sys/queue.h being picked
up and setting __SYS_QUEUE_H__ so our queue.h is not picked up.
But the FreeBSD queue.h does not have the CIRCLEQ definitions. To
fix just include our queue.h first, which also sets __SYS_QUEUE_H__
preventing the system one from being picked up.
(cherry picked from commit
d4554ec6bb6e4e52fb2e36cf0412c981a4d1d2e9 )
Jason Ish [Thu, 22 Apr 2021 15:38:24 +0000 (09:38 -0600)]
tx: fix unidir tx cleanup
A unidirection protocol parser should only have its transactions
marked as "skipped" if it is skipped in both the TS and TC
directions, otherwise unidir transactions are always considered
skipped and the cleanup will never updates its minimum id.
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4437
(cherry picked from commit
afaa18c5ad183d068795cf15d21d3642814ceb23 )
Jason Ish [Thu, 25 Mar 2021 18:11:01 +0000 (12:11 -0600)]
eve/mqtt: fix mqtt logging with threaded eve
Mqtt was not setting up a per-thread file context for logging
in threaded mode, leading a crash when used in threaded mode.
Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4404
(cherry picked from commit
64330498f842386cc1f1cdec0409959b5565496f )
Victor Julien [Wed, 31 Mar 2021 13:20:14 +0000 (15:20 +0200)]
ci: make format check use 6.0.x branch
Victor Julien [Wed, 3 Mar 2021 13:01:55 +0000 (14:01 +0100)]
detect/icmp: reject invalid rules for icode/itype
(cherry picked from commit
68f8b2f40f24a8656b09b3a9b1245ab3cf62a11d )
Victor Julien [Wed, 3 Mar 2021 12:41:26 +0000 (13:41 +0100)]
detect/prefilter: fix null ptr deref on invalid rule
A bad rule 'icode:<0; prefilter;' would trigger a null ptr deref
in ApplyToU8Hash.
Bug #4375.
(cherry picked from commit
7d6835958bbb6ddf2931c9e20f409eadfc8ca068 )
Victor Julien [Fri, 5 Mar 2021 10:41:37 +0000 (11:41 +0100)]
version: start development towards 6.0.3
Victor Julien [Mon, 1 Mar 2021 15:56:01 +0000 (16:56 +0100)]
release: 6.0.2; update changelog; require htp 0.5.37
Victor Julien [Sat, 20 Feb 2021 14:53:51 +0000 (15:53 +0100)]
detect/prefilter: fix handling of prefilter as fast_pattern alias
(cherry picked from commit
0dd5921bc9791ac733c8d264212d69e661309df1 )
Philippe Antoine [Sun, 7 Feb 2021 20:34:12 +0000 (21:34 +0100)]
detect: forbids unsupported prefilters
(cherry picked from commit
b7fd01c86e0d0f3c341031d62ec89e305859aa0b )
Victor Julien [Thu, 25 Feb 2021 21:38:34 +0000 (22:38 +0100)]
detect: set HTTP SWF decompress limits
(cherry picked from commit
af13d4de180515f92813befc9bca06b66f7233bb )
Victor Julien [Mon, 1 Mar 2021 07:02:22 +0000 (08:02 +0100)]
Revert "detect/state: optimize state keeping"
This reverts commit
13ce474d5e3947389e781f95fa6337d2eb36e129 .
The optimization is incomplete. A more complete fix is merged in
master, but this needs a bit more time before getting backported.
Philippe Antoine [Wed, 17 Feb 2021 14:36:12 +0000 (15:36 +0100)]
smb: relax probing parser to handle first NBSS message
cf dcerpc-udp S-V test :
First message is Message Type: Session request (0x81)
Second message is SMB
(cherry picked from commit
83070102557d2755b9ffc67bb14b9b4d48b039e9 )
Philippe Antoine [Tue, 2 Feb 2021 12:31:08 +0000 (13:31 +0100)]
smb: probing parser for start and midstream
The probing parser is more strict at the start of the stream
(cherry picked from commit
1b6e81cd7284355cb4315606cac30325e144d25a )
Philippe Antoine [Tue, 2 Feb 2021 12:29:14 +0000 (13:29 +0100)]
smb: split probing function for code style
Introduces rs_smb_probe_tcp_midstream
(cherry picked from commit
9dc5258a21cecdabca26aaac108e83d85147d30b )
Philippe Antoine [Wed, 17 Feb 2021 13:54:46 +0000 (14:54 +0100)]
protodetect: only run ProbingParserTc if STREAM_TOCLIENT
(cherry picked from commit
660e9e489b7d898509946d8a66f15c6107fd5a4e )
Philippe Antoine [Wed, 17 Feb 2021 16:02:35 +0000 (17:02 +0100)]
detect: fix overflows in SetupU8Hash
For instance ">255" resulted in overflow
(cherry picked from commit
2d765d6c686449e78e29759b07c4852ebab3c46e )
Philippe Antoine [Fri, 18 Dec 2020 21:12:23 +0000 (22:12 +0100)]
ssl: reset state when breaking out of SSLV3_HANDSHAKE_PROTOCOL
So that we cannot resumt it with corrupted values
(cherry picked from commit
eb460cf78dadc874633a57571245acf2911a6b6e )
Philippe Antoine [Thu, 17 Dec 2020 20:48:54 +0000 (21:48 +0100)]
modbus: stop allocating transactions when flooded
cf #4224
(cherry picked from commit
89030d3e59e23d4850ac9a7db5763c3d4d4fd537 )
Philippe Antoine [Fri, 18 Dec 2020 13:21:16 +0000 (14:21 +0100)]
icmpv6: bail out for icmpv6.hdr keyword if not ICMPv6
(cherry picked from commit
ddb4d289ae00908d8f25fdd3afbcd5a1da2111a6 )
Jeff Lucovsky [Tue, 8 Dec 2020 13:38:18 +0000 (08:38 -0500)]
output/http2: Multi-threaded EVE logging support
This commit adds multi-threaded EVE logging support to the HTTP/2
logging path.
(cherry picked from commit
538fc58b37cb6633824fc2e167068b11d09a013a )
Philippe Antoine [Mon, 7 Dec 2020 11:16:31 +0000 (12:16 +0100)]
eve: fix memory leak in metadata
Fixes #4205
(cherry picked from commit
35f6c80bbf4eef7ec311ed78dd29819cc471905e )
Philippe Antoine [Tue, 2 Feb 2021 10:12:12 +0000 (11:12 +0100)]
protodetect: rename direction to flags
And use whole flags in AppLayerProtoDetectPPGetProto
(cherry picked from commit
c6aadf0dfa0d438e3a4a46db2de893b62e76d7ce )
Philippe Antoine [Thu, 28 Jan 2021 16:48:48 +0000 (17:48 +0100)]
decode: limits the number of decoded layers
so as to avoid overrecursion leading to stack exhaustion
(cherry picked from commit
7500c29300dcef8716d87461842e7d7c3e5101ac )
Victor Julien [Thu, 25 Feb 2021 21:00:17 +0000 (22:00 +0100)]
detect/http.request_body: fix tracking with xforms
Fix handling of file progress tracking for regular http.request_body
along with transform combinations.
This is done by implementing the 'base id' logic.
Related tickets: #4361 #4199 #3616
(cherry picked from commit
4a1482a1cfab7bbf95be81dff9b9db3708f6626a )
Victor Julien [Thu, 25 Feb 2021 20:36:27 +0000 (21:36 +0100)]
detect/file.data: fix mixing transforms (http)
Fix handling of file progress tracking for regular file.data along
with transform combinations for the part of the implementation that
uses the HTTP inspection logic.
This is done by implementing the 'base id' logic.
Related tickets: #4361 #4199 #3616
(cherry picked from commit
ea3fb4a465e0ecd3f08c2828aa08804335c77a46 )
Victor Julien [Thu, 25 Feb 2021 19:07:41 +0000 (20:07 +0100)]
detect/file.data: fix mixing transforms (file api)
Fix handling of file progress tracking for regular file.data along
with transform combinations for the part of the implementation that
uses the File API.
This is done by implementing the 'base id' logic.
Related tickets: #4361 #4199 #3616
(cherry picked from commit
54ad7de9cea22b9a3c3e7cc64145155126f4dada )