]>
git.ipfire.org Git - thirdparty/suricata.git/log
Victor Julien [Wed, 30 Nov 2022 05:44:40 +0000 (06:44 +0100)]
smb: fix file reopening issue
Fuzzing highlighted an issue where a command sequence on the same file
id triggered a logging issue:
file data for id N
close id N
file data for id N
If this happened in a single blob of data passed to the parser, the
existing file tx would be reused, the file "reopened", confusing the
file logging logic. This would trigger a debug assert.
This patch makes sure a new file tx is created for the file data
coming in after the first file tx is closed.
Bug: #5567.
Victor Julien [Fri, 18 Nov 2022 16:46:53 +0000 (17:46 +0100)]
fuzz/sigpcap: set pkt_src
Victor Julien [Thu, 17 Nov 2022 13:59:30 +0000 (14:59 +0100)]
stream: stricter check inserting segments
In lossy streams, esp where TcpSession::lossy_be_liberal it is possible
to end up inserting a segment that is out of the expected sequence
number bounds.
Victor Julien [Tue, 29 Nov 2022 09:22:02 +0000 (10:22 +0100)]
version: require libhtp 0.5.42
Victor Julien [Thu, 20 Oct 2022 13:24:52 +0000 (15:24 +0200)]
flow: cleanup and clarify ancient debug messages
Victor Julien [Thu, 20 Oct 2022 13:14:26 +0000 (15:14 +0200)]
decode: enforce layer limit through tunnel layers
Bug: #5686.
Philippe Antoine [Fri, 23 Sep 2022 09:01:03 +0000 (11:01 +0200)]
dcerpc: fix integer underflow
as input.len() can be 65536, it cannot be directly cast to u16
Ticket: #5557
Shivani Bhardwaj [Mon, 31 Oct 2022 11:04:47 +0000 (16:34 +0530)]
util/base64: fix heap buffer overflow
While updating the destination pointer, we were also adding the padded
bytes which are not a part of the decoded bytes. This led to running out
of space on the destination buffer.
Fix it by only incrementing destination buffer ptr by the number of
actual bytes that were decoded.
Ticket 5623
Victor Julien [Thu, 17 Nov 2022 11:17:01 +0000 (12:17 +0100)]
version: development towards 7.0.0-rc1
Jason Ish [Thu, 27 Oct 2022 19:14:07 +0000 (13:14 -0600)]
github-ci: non-root builder
All the GitHub CI jobs run as root inside a container. This means the
testing is done in a different environment than a developer typically
uses, running as a user.
Add a job that does the build as a non-root user.
Jason Ish [Mon, 28 Nov 2022 14:56:08 +0000 (08:56 -0600)]
rust: sha-1 is now sha1
This is the same crate, but renamed to be more consistent with the
RustCrypto project naming. Some recent discussion is available here:
https://github.com/RustCrypto/hashes/issues/438
Philippe Antoine [Tue, 22 Nov 2022 20:47:37 +0000 (21:47 +0100)]
smb: do not use tree id to match request and response
Completes commit
e94920b49f43bea4220a1bdf32297ec004e58059
This must be true for access to state ssn2vecoffset_map
Ticket: #5161
Jason Ish [Tue, 8 Nov 2022 10:50:55 +0000 (12:50 +0200)]
readthedocs: enable all formats
Ticket: #5654
Victor Julien [Wed, 23 Nov 2022 13:42:21 +0000 (14:42 +0100)]
smtp/files: don't modify prev file on open failure
Victor Julien [Wed, 23 Nov 2022 13:29:39 +0000 (14:29 +0100)]
files: always initialize inspect_window and min_inspect_depth
This is to make sure the files buffers are properly managed even
when there are no rules or when there are no file.data rules.
Bug: #5703.
Victor Julien [Wed, 23 Nov 2022 10:56:33 +0000 (11:56 +0100)]
rust/files: open file without trackid as pointer
Victor Julien [Wed, 23 Nov 2022 10:55:42 +0000 (11:55 +0100)]
rust/filecontainer: remove unused declaration
Victor Julien [Thu, 24 Nov 2022 11:01:13 +0000 (12:01 +0100)]
streaming/buffer: set hard limit on buffer size
Don't allow the buffer to grow beyond 1GiB. Add a once per thread
warning if it does reach it.
Bug: #5703.
Jason Ish [Fri, 18 Nov 2022 20:52:43 +0000 (14:52 -0600)]
github-ci/centos:7: cache yum RPMs
Jason Ish [Fri, 18 Nov 2022 20:46:15 +0000 (14:46 -0600)]
github-ci/windows: cache cargo artifacts
Jason Ish [Fri, 18 Nov 2022 20:45:29 +0000 (14:45 -0600)]
github-ci/macos: don't force cbindgen
We want to use binary from the cache if available.
Jason Ish [Fri, 18 Nov 2022 17:18:38 +0000 (11:18 -0600)]
github-ci: cache RPMs on dnf distros
Jason Ish [Fri, 18 Nov 2022 16:47:45 +0000 (10:47 -0600)]
github-ci: better .cargo caching
Philippe Antoine [Mon, 21 Nov 2022 16:06:44 +0000 (17:06 +0100)]
http2: fix decompression buffering
It was not enough to set Cursor position to 0,
also its inner Vec should be cleared.
This way, a new input gets written at the beginning of the
Cursor and its inner Vec...
Ticket: #5691
Philippe Antoine [Mon, 21 Nov 2022 15:21:19 +0000 (16:21 +0100)]
http2: support padded data frames
Ticket: #5691
Victor Julien [Tue, 22 Nov 2022 13:14:17 +0000 (14:14 +0100)]
src: unify how warnings specify ticket id's
Jason Ish [Wed, 19 Oct 2022 19:07:56 +0000 (13:07 -0600)]
afpacket/netmap: warn about mixed ips, ids/tap deprecation
Suricata already logs if AF_PACKET or Netmap are running in a mixed IPS
and IDS/TAP mode. As the behavior is undefined when these modes are
mixed, it is best to deprecate and to not allow this behavior. For now
warn that it will be unsupported and fail in Suricata 8.
Ticket: 5587
Philippe Antoine [Fri, 17 Jun 2022 13:00:31 +0000 (15:00 +0200)]
ci: remove unnecessary write permission to github workflow
Philippe Antoine [Tue, 1 Nov 2022 14:23:10 +0000 (15:23 +0100)]
ci: build with -Werror for -Wimplicit-int-conversion
So that CI gets red
Philippe Antoine [Fri, 4 Nov 2022 14:24:02 +0000 (15:24 +0100)]
detect: fix memory leak when parsing signature
Ticket: #5529
Victor Julien [Thu, 17 Nov 2022 20:59:55 +0000 (21:59 +0100)]
profiling: fix includes
Todd Mortimer [Mon, 31 Oct 2022 17:39:51 +0000 (17:39 +0000)]
swf-decompression: Disable by default.
Add an entry to the upgrade guide noting the change.
Ticket: #5632
Victor Julien [Thu, 17 Nov 2022 19:11:07 +0000 (20:11 +0100)]
ipfw: fix missing include
Victor Julien [Thu, 17 Nov 2022 19:10:57 +0000 (20:10 +0100)]
netmap: fix missing include
Jason Ish [Wed, 16 Nov 2022 16:48:55 +0000 (10:48 -0600)]
classification: continue processing on parse error
Instead of returning on the first line that fails to parse, log the
error and continue instead of returning.
The fail fast makes sense in test mode, but not in a normal run mode
where you don't want one bad line to abort processing the whole file.
This will still fail out in test mode.
Related issue: 4554
Philippe Antoine [Mon, 26 Sep 2022 15:06:38 +0000 (17:06 +0200)]
src: remove double includes
Keep the unconditional include to be sure it works
git grep '#include "' src/*.c | sort | uniq -c | awk '$1 > 1'
Philippe Antoine [Fri, 16 Sep 2022 12:46:42 +0000 (14:46 +0200)]
src: fix some include orders
So as to be able to get include removal right
Philippe Antoine [Tue, 2 Aug 2022 09:42:38 +0000 (11:42 +0200)]
src: remove obsolete comment
Should have been removed along by commit
82dba07579fcd188bc537b57c52eea4974f2d9e1
Philippe Antoine [Thu, 3 Nov 2022 09:09:11 +0000 (10:09 +0100)]
src: fix remaining cppclean warnings
Philippe Antoine [Tue, 1 Nov 2022 20:39:50 +0000 (21:39 +0100)]
unittest: fix unneeded includes as per cppclean
Especially because there is conditional inclusion from a header
Philippe Antoine [Fri, 23 Sep 2022 08:17:06 +0000 (10:17 +0200)]
util: fix includes for util-memcmp
u8_tolower is now in suricata-common.h
Fixes commit
19e94e93fab84c009c0aefd49809c91665a8fa33
Philippe Antoine [Tue, 2 Aug 2022 08:22:54 +0000 (10:22 +0200)]
ci: adds one build with hyperscan
Philippe Antoine [Mon, 1 Aug 2022 20:04:46 +0000 (22:04 +0200)]
ci: adds build with luajit
Philippe Antoine [Tue, 1 Nov 2022 14:23:43 +0000 (15:23 +0100)]
src: fix integer warnings
and adds defrag debug validations
Philippe Antoine [Fri, 11 Nov 2022 10:52:27 +0000 (11:52 +0100)]
tls: fix off by one in supported versions extension
Ticket: #5663
Jeff Lucovsky [Sun, 16 Oct 2022 14:13:19 +0000 (10:13 -0400)]
detect/bsize: Validate bsize values after parsing
Issue: 2982
This commit moves bsize validation with respect to content matches to
the post-parse validation stage. This allows bsize to consider all
content-related values, including those that follow the bsize keyword.
Jeff Lucovsky [Sun, 16 Oct 2022 14:12:13 +0000 (10:12 -0400)]
bsize/general: Remove unnecessary includes
This commit removes unused/commented out #include lines.
Jeff Lucovsky [Sun, 16 Oct 2022 14:08:26 +0000 (10:08 -0400)]
add to general: Typo fixup
Jeff Lucovsky [Tue, 9 Aug 2022 12:52:34 +0000 (08:52 -0400)]
netmap: Fix include file issues
Jeff Lucovsky [Mon, 18 May 2020 13:30:02 +0000 (09:30 -0400)]
doc: Update bsize documentation
This commit updates the bsize documentation
1. Describe what happens when "content" immediately precedes "bsize"
2. Include the operators and
3. Include examples using the operators.
Jeff Lucovsky [Thu, 27 Jan 2022 15:23:55 +0000 (10:23 -0500)]
detect/bsize: Semantic validation of bsize values
This commit adds validation of the bsize value(s) with the available
buffer size. Signatures are flagged if the bsize and buffer size are
incompatible.
Issue: 3682
Jeff Lucovsky [Mon, 18 May 2020 13:33:58 +0000 (09:33 -0400)]
tests/bsize: Test cases with preceding content
This commit adds test cases that validate behavior when "content"
immediately precedes "bsize".
Jeff Lucovsky [Fri, 21 Jan 2022 14:46:51 +0000 (09:46 -0500)]
general: Typo fixup
Jeff Lucovsky [Fri, 21 Jan 2022 14:45:56 +0000 (09:45 -0500)]
detect/content: Use SCCalloc instead of malloc/memset
This commit replaces a SCMalloc/memset with SCCalloc
Jeff Lucovsky [Sat, 13 Feb 2021 15:41:09 +0000 (10:41 -0500)]
detect/content: Consider distance in validation
Ticket: 2982
This commit validates that the content usage in a rule will not exceed
the dsize value.
Values of distance that cause the right edge to be exceeded are
considered an error and the signature will be rejected.
Shivani Bhardwaj [Mon, 31 Oct 2022 13:23:06 +0000 (18:53 +0530)]
util/base64: use padding var for calculations
jason taylor [Wed, 2 Nov 2022 19:51:33 +0000 (19:51 +0000)]
userguide: update tos keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Wed, 2 Nov 2022 19:41:29 +0000 (19:41 +0000)]
userguide: update fragoffset keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Fri, 28 Oct 2022 19:48:18 +0000 (19:48 +0000)]
userguide: update fragbits information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Thu, 20 Oct 2022 21:05:29 +0000 (21:05 +0000)]
userguide: update geoip information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Tue, 11 Oct 2022 22:00:21 +0000 (22:00 +0000)]
userguide: update id keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Fri, 7 Oct 2022 20:44:14 +0000 (20:44 +0000)]
userguide: update ipv6.hdr keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Fri, 7 Oct 2022 20:18:01 +0000 (20:18 +0000)]
userguide: update ipv4.hdr keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Thu, 6 Oct 2022 22:05:23 +0000 (22:05 +0000)]
userguide: update ip_proto keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Wed, 28 Sep 2022 23:58:03 +0000 (23:58 +0000)]
userguide: update sameip keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Wed, 28 Sep 2022 23:00:48 +0000 (23:00 +0000)]
userguide: update ipopts keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
jason taylor [Wed, 21 Sep 2022 23:22:44 +0000 (23:22 +0000)]
userguide: update ttl keyword information
Signed-off-by: jason taylor <jtfas90@gmail.com>
Philippe Antoine [Thu, 10 Nov 2022 12:17:49 +0000 (13:17 +0100)]
doc: update doc for HTTP file.data to server
Ticket: #4144
Completes
e587f6792afdb863cbe57e972bd395443f23d9d9
Philippe Antoine [Fri, 4 Nov 2022 14:35:30 +0000 (15:35 +0100)]
quic: use VecDeque
Ticket: #5637
Victor Julien [Wed, 9 Nov 2022 14:44:26 +0000 (16:44 +0200)]
security: disable setrlimit with asan
Various parts of ASAN will require creation of threads. At least
LSAN reporting and ASAN stack traces require this. Detect if we
run with ASAN and bypass the noproc setting with a warning.
Bug: #5661.
Philippe Antoine [Thu, 3 Nov 2022 10:02:07 +0000 (11:02 +0100)]
pcre: configurable paths for PCRE2 for include/lib
Ticket: #5572
Victor Julien [Tue, 1 Nov 2022 15:48:13 +0000 (16:48 +0100)]
ssl: add debug validation checks for recent changes
Make sure the assumptions are correct.
Philippe Antoine [Wed, 5 Oct 2022 19:21:41 +0000 (21:21 +0200)]
tls: fix buffer overread
Recently introduced by commit
4bab6e24e5e2cef29c9a5a6bee3263e4a3d47e76
Ticket: #5564
Philippe Antoine [Thu, 3 Nov 2022 15:13:21 +0000 (16:13 +0100)]
detect: avoids memory leak on ja3 signature parsing
If a later keyword enforces a protocol incompatible with ja3
Philippe Antoine [Thu, 3 Nov 2022 12:42:57 +0000 (13:42 +0100)]
clean: use SC_MD5_HEX_LEN instead of magic number 32
Philippe Antoine [Thu, 3 Nov 2022 12:27:10 +0000 (13:27 +0100)]
clean: replace MD5_STRING_LENGTH with more used SC_MD5_HEX_LEN
Philippe Antoine [Thu, 3 Nov 2022 12:26:07 +0000 (13:26 +0100)]
clean: remove useless * sizeof(char)
Philippe Antoine [Thu, 3 Nov 2022 12:20:25 +0000 (13:20 +0100)]
quic: ja3 code deduplication
As quic transactions are unidirectional, the same function is
used to get ja3 from client or from server.
Philippe Antoine [Fri, 28 Oct 2022 19:57:11 +0000 (21:57 +0200)]
quic: allow ja3.hash keyword
Ticket: #5624
Philippe Antoine [Fri, 4 Nov 2022 10:13:07 +0000 (11:13 +0100)]
rust: fix cargo clippy --all-features
Philippe Antoine [Fri, 4 Nov 2022 08:38:51 +0000 (09:38 +0100)]
rust: cargo clippy --all-features --fix --allow-no-vcs
Philippe Antoine [Thu, 3 Nov 2022 20:34:37 +0000 (21:34 +0100)]
ci: cargo clippy run option
As clippy does not recognize git which is above
Philippe Antoine [Thu, 3 Nov 2022 14:35:22 +0000 (15:35 +0100)]
rust: fix warnings on rustc 1.67.0-nightly
warning: for loop over an `Option`. This is more readably written
as an `if let` statement
Daniel Young [Mon, 23 May 2022 19:41:48 +0000 (15:41 -0400)]
detect/parse-port: fix whitespaces bug
Updated by Victor Julien to:
- accept but strip leading whitespaces
- update tests
- cleanup tests
Eric Leblond [Wed, 27 Jul 2022 07:21:51 +0000 (09:21 +0200)]
detect/filename: fix buffer description
Shivani Bhardwaj [Mon, 26 Sep 2022 04:44:51 +0000 (10:14 +0530)]
src: remove unneeded header and refs
Haleema Khan [Fri, 28 Oct 2022 22:34:05 +0000 (03:34 +0500)]
detect-l3proto: Convert unittests to new FAIL/PASS API
Ticket: #4050
Alice Akaki [Fri, 28 Oct 2022 19:16:58 +0000 (15:16 -0400)]
detect-icmp-seq: clean-up unittests
Task: #5597
Eric Leblond [Sun, 30 Oct 2022 12:08:06 +0000 (13:08 +0100)]
flow: fix FlowSwapFileFlags function
Ticket: #5625
Haleema Khan [Fri, 21 Oct 2022 02:45:49 +0000 (07:45 +0500)]
detect-filesize: Convert unittests to new FAIL/PASS API
Ticket: 4039
Haleema Khan [Sun, 23 Oct 2022 21:32:56 +0000 (02:32 +0500)]
detect-distance: Convert unittests to new FAIL/PASS API
Ticket : #4020
Juliana Fajardini [Mon, 24 Oct 2022 00:58:42 +0000 (21:58 -0300)]
pgsql: add test for parameter status parser
Since we've done some changes to how the parameters are parsed, add one
more test case to check that.
Bug #5579
Juliana Fajardini [Wed, 7 Sep 2022 19:41:48 +0000 (16:41 -0300)]
pgsql: move database into opt parameters list
For StartupMessages, the database parameter is optional. This moves the
parameter into the optional_parameters list.
Bug #5579
Juliana Fajardini [Wed, 7 Sep 2022 18:52:42 +0000 (15:52 -0300)]
eve/schema: pgsql - allow flexible parameters list
Pgsql's parameters - for message types like StartupMessage and
ParameterStatus, for instance, don't have a finite, definitive set, as
per their documentation. Our json schema was allow expecting a fixed set
of parameters, though, resulting in SV tests failing if different, valid
parameters appeared.
Bug #5579
Philippe Antoine [Fri, 26 Aug 2022 12:02:16 +0000 (14:02 +0200)]
pgsql: support empty parameter values
Bug #5579
Philippe Antoine [Fri, 26 Aug 2022 12:00:40 +0000 (14:00 +0200)]
pgsql: support out of order parameters for startup message
As user can be not the first parameter
Bug #5579
Alice Akaki [Sat, 22 Oct 2022 17:07:04 +0000 (13:07 -0400)]
detect-icmp-id: convert unittests to FAIL/PASS APIs
Task: #4042
Haleema Khan [Fri, 21 Oct 2022 02:16:45 +0000 (07:16 +0500)]
detect-itype: Convert unittests to new FAIL/PASS API
Bug: #5589
dependabot[bot] [Thu, 13 Oct 2022 19:33:12 +0000 (19:33 +0000)]
github-actions: bump actions/cache from 3.0.10 to 3.0.11
Bumps [actions/cache](https://github.com/actions/cache) from 3.0.10 to 3.0.11.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.0.10...
9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Simeon Miteff [Wed, 28 Sep 2022 23:38:07 +0000 (09:38 +1000)]
profiling: Make rule_perf.log JSON output newline-delimited
Adding a newline makes the output valid JSON when multiple sortings of
the rules profile object are written to the log.