]>
git.ipfire.org Git - thirdparty/suricata.git/log
jason taylor [Wed, 21 Sep 2022 20:26:32 +0000 (20:26 +0000)]
userguide: Add rule file globbing option details
Signed-off-by: jason taylor <jtfas90@gmail.com>
dependabot[bot] [Sat, 24 Sep 2022 05:47:57 +0000 (05:47 +0000)]
github-actions: bump codecov/codecov-action from 3.1.0 to 3.1.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/
81cd2dc8148241f03f5839d295e000b8f761e378 ...
d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 )
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Wed, 28 Sep 2022 19:38:15 +0000 (19:38 +0000)]
github-actions: bump ossf/scorecard-action from 2.0.3 to 2.0.4
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/
865b4092859256271290c77adbd10a43f4779972 ...
e363bfca00e752f91de7b7d2a77340e2e523cb18 )
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Sascha Steinbiss [Thu, 22 Sep 2022 13:13:05 +0000 (15:13 +0200)]
decode-ipv4: adjust validation to RFC
RFC1108 only specifies a minimum field length of 3, not
a fixed length of 11.
Sascha Steinbiss [Thu, 22 Sep 2022 13:10:47 +0000 (15:10 +0200)]
decode-ipv4: implement extended security option
IP option 0x85 (extended security) is mentioned in the
documentation for the ipopts keyword but was not implemented.
Philippe Antoine [Tue, 27 Sep 2022 14:01:28 +0000 (16:01 +0200)]
ci: build with -Wimplicit-int-conversion
Seems to have got lost on the way in CFLAGS
Philippe Antoine [Tue, 27 Sep 2022 13:47:06 +0000 (15:47 +0200)]
ssl: fix compiler warning
implicit conversion loses integer precision: 'int' to 'uint16_t'
because C shifts << translates automatically to signed integers
Victor Julien [Fri, 26 Aug 2022 12:12:44 +0000 (14:12 +0200)]
rust: lock to time 0.3.13 to avoid MSRV bump to 1.59
Indirect dependency through x509-parser.
Pierre Chifflier [Wed, 19 Jan 2022 14:56:50 +0000 (15:56 +0100)]
rust: remove nom 5 dependency
Pierre Chifflier [Wed, 19 Jan 2022 14:06:21 +0000 (15:06 +0100)]
rust/applayertemplate: convert to nom7
Pierre Chifflier [Wed, 19 Jan 2022 14:06:05 +0000 (15:06 +0100)]
rust/asn1: convert parsers to nom7
Pierre Chifflier [Wed, 19 Jan 2022 13:30:54 +0000 (14:30 +0100)]
rust/x509: finish transition to nom7
Pierre Chifflier [Wed, 19 Jan 2022 13:28:30 +0000 (14:28 +0100)]
rust/telnet: convert parsers to nom7
Pierre Chifflier [Wed, 19 Jan 2022 13:26:57 +0000 (14:26 +0100)]
rust/conf: convert parser to nom7
Pierre Chifflier [Wed, 19 Jan 2022 13:21:46 +0000 (14:21 +0100)]
rust/ssh: finish transition to nom7
Pierre Chifflier [Wed, 19 Jan 2022 13:11:26 +0000 (14:11 +0100)]
rust/rdp: convert parsers to nom7
Pierre Chifflier [Wed, 12 Jan 2022 09:56:20 +0000 (10:56 +0100)]
rust/rdp: upgrade dependency on tls-parser
Pierre Chifflier [Tue, 11 Jan 2022 14:50:55 +0000 (15:50 +0100)]
rust: upgrade versions of BER/DER, Kerberos and SNMP parsers
Jason Ish [Mon, 11 Apr 2022 17:22:06 +0000 (11:22 -0600)]
rust: update x509-parser to 0.14.0
Resolves RustSec issues in time and chrono:
- https://rustsec.org/advisories/RUSTSEC-2020-0071
- https://rustsec.org/advisories/RUSTSEC-2020-0159
Ticket: #5259.
Ammended by Victor Julien to bump to 0.14 instead of 0.13.
Pierre Chifflier [Mon, 1 Nov 2021 13:44:11 +0000 (14:44 +0100)]
rust/x509: update dependency on x509-parser
Victor Julien [Mon, 26 Sep 2022 15:14:39 +0000 (17:14 +0200)]
stream: fix reachable assertion
Fix `Flow::thread_id` not always getting properly set up, leading to
a reachable assertion.
Bug #4582.
Juliana Fajardini [Thu, 15 Sep 2022 23:07:54 +0000 (20:07 -0300)]
userguide: add section about exception policies
This describes briefly what the exception policies are, what is the
engine's behavior, what options are available and to which parts are
they implemented.
Task #5475
Task #5515
Juliana Fajardini [Fri, 2 Sep 2022 17:27:15 +0000 (14:27 -0300)]
userguide: minor rewording and typo fixes
Some of these were recently introduced, some were highlited after the
applayer sections got merged. Some paragraphs seem to have been changed
due to trying to respect character limits for lines. Also includes a
typo pointed out by one of our community members via Discord.
Juliana Fajardini [Fri, 16 Sep 2022 18:12:06 +0000 (15:12 -0300)]
stream/tcp: typo fix
jason taylor [Wed, 21 Sep 2022 20:46:59 +0000 (20:46 +0000)]
detect: update ttl debug log messages
Signed-off-by: jason taylor <jtfas90@gmail.com>
Jeff Lucovsky [Thu, 25 Aug 2022 14:44:50 +0000 (10:44 -0400)]
detect/stream_size: Rename detect.rs to stream_size.rs
This commit renames detect.rs to stream_size.rs to reflect its content.
Jeff Lucovsky [Thu, 25 Aug 2022 14:39:34 +0000 (10:39 -0400)]
detect/iprep: Move iprep logic into a separate module
Jeff Lucovsky [Thu, 25 Aug 2022 14:32:19 +0000 (10:32 -0400)]
detect/uri: Move uri logic into a separate module
Jeff Lucovsky [Thu, 25 Aug 2022 14:27:00 +0000 (10:27 -0400)]
detect/uint: Move uint logic into a separate module
This commit moves the uint logic into its own module.
Jeff Lucovsky [Tue, 2 Aug 2022 15:12:02 +0000 (11:12 -0400)]
doc/byte_math: Add byte_math differences with snort
Issue: 5077
Jeff Lucovsky [Tue, 2 Aug 2022 15:11:27 +0000 (11:11 -0400)]
doc: Fixup byte* entries to display tables properly
Jeff Lucovsky [Sun, 31 Jul 2022 14:45:38 +0000 (10:45 -0400)]
rust/detect: Create detect module for rule parsing
This commit creates a module named "detect" for rule parsing logic. As
part of this commit, detect.rs is moved from its toplevel position into
the new module. Thus, use crate::detect::detect to refer to items within
detect.rs (instead of create::detect).
Ticket: 5077
Jeff Lucovsky [Wed, 8 Jun 2022 12:03:44 +0000 (08:03 -0400)]
detect/bytemath: convert parser to Rust
Issue: 5077
This commit
- Converts the PCRE based parser to Rust.
- Adds unit tests to the new Rust modules
- Removes the PCRE parser from detect-bytemath.c
- Adjusts the C source modules to refer to the Rust definitions
- Includes the multiply operator (missing from the C parser)
Philippe Antoine [Fri, 23 Sep 2022 06:50:43 +0000 (08:50 +0200)]
log: fix coverity warning
CID
1515529
Checks ftell return value for negative/error
Victor Julien [Thu, 22 Sep 2022 15:24:38 +0000 (17:24 +0200)]
github-ci/codecov: add rust coverage support
Based on Rust 1.63 and LLVM 14. Update the jobs to meet those requirements.
Includes the bundled libhtp coverage now, including libhtp tests.
Ticket: #4278.
Victor Julien [Wed, 21 Sep 2022 17:56:45 +0000 (19:56 +0200)]
tls: handle incomplete header sooner
Make sure to exit the parser early on incomplete header data.
Additionally, make sure to not create duplicated tls frames in this
case.
Add a debug validation check for the header parser parsing too much
data, which should never happen.
Victor Julien [Wed, 7 Sep 2022 18:51:18 +0000 (20:51 +0200)]
ssl: add debug validation check for incomplete api
Victor Julien [Wed, 7 Sep 2022 06:38:07 +0000 (08:38 +0200)]
debug: add bool string print helper macro
Victor Julien [Wed, 7 Sep 2022 06:32:05 +0000 (08:32 +0200)]
tls: improve record checks
Improve unknown record handling. Inspired by Wireshark 'unknown record'
handling, we take a best effort approach for records with unknown content
types in TLS versions 1.0, 1.1 and 1.2.
Improve record length check and set 'invalid_record_length' event instead
of 'invalid_tls_header'.
Victor Julien [Wed, 7 Sep 2022 05:31:38 +0000 (07:31 +0200)]
tls: improve versions extension logic
Skip over unusable versions like GREASE.
Victor Julien [Tue, 6 Sep 2022 12:03:46 +0000 (14:03 +0200)]
tls: make version and size checks stricter
This way bad records won't buffer lots of stream data.
Victor Julien [Tue, 23 Aug 2022 10:01:18 +0000 (12:01 +0200)]
eve/schema: add tls client logging
Victor Julien [Mon, 29 Aug 2022 07:25:26 +0000 (09:25 +0200)]
tls: store cert data in heap buffer
Cert chain is a list of pointers into this buffer, so can't use a
stream slice approach.
Victor Julien [Tue, 23 Aug 2022 09:35:41 +0000 (11:35 +0200)]
eve/tls: implement client cert logging
Enable client logging in extended mode.
Add "client", "client_certificate" and "client_chain", where the latter two
depend on "client".
Victor Julien [Tue, 23 Aug 2022 09:32:24 +0000 (11:32 +0200)]
tls: parse client certificates
Parse client cerificates and store them in the state similar to how
this is done for server certificates.
Update "progress" handling to not consider the TLS handshake complete
if the server indicated a client cert was needed.
Victor Julien [Tue, 23 Aug 2022 09:31:08 +0000 (11:31 +0200)]
tls: prepare for client cert parsing
Victor Julien [Tue, 23 Aug 2022 09:24:41 +0000 (11:24 +0200)]
eve/tls: prepare for client cert logging
Code cleanups that work on per direction "connp" instead of hard coding
to the server side.
Victor Julien [Tue, 23 Aug 2022 05:19:38 +0000 (07:19 +0200)]
tls: make cert handling more generic
In preparation for client cert handling.
Victor Julien [Mon, 22 Aug 2022 08:49:34 +0000 (10:49 +0200)]
tls: avoid tls.invalid_handshake_message FP
Don't set TLS_DECODER_EVENT_INVALID_HANDSHAKE_MESSAGE event on encrypted
handshake messages.
Victor Julien [Thu, 11 Aug 2022 10:18:28 +0000 (12:18 +0200)]
tls: don't set 2 events for a single exception
Keep the more specific ones.
Victor Julien [Thu, 11 Aug 2022 13:25:11 +0000 (15:25 +0200)]
tls: remove incomplete tests
These tests are incompatible with the incomplete API usage and should
have been pcap based tests in the first place.
Victor Julien [Mon, 8 Aug 2022 10:02:22 +0000 (12:02 +0200)]
tls: set event if record size exceeds limit
Victor Julien [Wed, 10 Aug 2022 15:44:44 +0000 (17:44 +0200)]
tls: support server hello done message
Victor Julien [Fri, 5 Aug 2022 20:27:22 +0000 (22:27 +0200)]
tls: support handshake fragmentation
Implement TLS record defrag for handshake messages.
Ticket: #5183.
Victor Julien [Fri, 5 Aug 2022 12:39:57 +0000 (14:39 +0200)]
tls: remove certificate buffering code
TCP Buffering is now done in the app-layer using the incomplete API, on
the SSL/TLS record level. TLS level fragmentation will be implemented
separately.
Victor Julien [Mon, 8 Aug 2022 10:23:37 +0000 (12:23 +0200)]
tls: parse handshake protocol records in single pass
Victor Julien [Wed, 7 Sep 2022 05:37:46 +0000 (07:37 +0200)]
sslv2: use version from client hello
Remove streaming code that is now unused.
Incomplete handling makes this record parsing work on full data.
Victor Julien [Thu, 18 Aug 2022 08:51:35 +0000 (10:51 +0200)]
ssl: implement 'incomplete' handling for SSLv2
Victor Julien [Wed, 7 Sep 2022 07:43:19 +0000 (09:43 +0200)]
tls: streaming mode for application records
To avoid overhead of stream buffering for records we don't do
much with anyway, pass through application records instead of
buffering the entire record in the stream engine.
Victor Julien [Fri, 5 Aug 2022 10:03:37 +0000 (12:03 +0200)]
tls: use incomplete API to get full TLS records
The TLS record header is parsed in streaming mode still, but once the
record size is known we tell the app-layer API to give us the full
record.
Ticket: #5481
Victor Julien [Tue, 20 Sep 2022 13:16:56 +0000 (15:16 +0200)]
github-ci: disable cppclean as it is too noisy
We can reenable it after the larger cleanup efforts are complete.
Gleb Smirnoff [Wed, 31 Aug 2022 03:12:21 +0000 (20:12 -0700)]
ipfw: remove setting of SO_BROADCAST on the divert(4) socket
My review of the FreeBSD kernel code reveals that this setting
a) is ignored by the kernel b) is not required. The sending
side of divert(4) never checks so->so_options, but always gives
IP_ALLOWBROADCAST to ip_output().
dependabot[bot] [Mon, 12 Sep 2022 19:35:52 +0000 (19:35 +0000)]
github-actions: bump ossf/scorecard-action from 1.1.2 to 2.0.3
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 1.1.2 to 2.0.3.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/
ce330fde6b1a5c9c75b417e7efc510b822a35564 ...
865b4092859256271290c77adbd10a43f4779972 )
---
updated-dependencies:
- dependency-name: ossf/scorecard-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Andrei Shchapaniak [Wed, 31 Aug 2022 11:23:07 +0000 (07:23 -0400)]
dpdk/i40e: fix warning with number of queues for RSS configuration
Philippe Antoine [Fri, 9 Sep 2022 10:30:34 +0000 (12:30 +0200)]
detect: adds flow.age keyword
Ticket: #5536
Philippe Antoine [Thu, 5 May 2022 07:46:01 +0000 (09:46 +0200)]
flow/icmpv4: fix vlan.use-for-tracking
For ICMPv4 error messages the vlan ids were always considered,
even if the 'vlan.use-for-tracking' option was disabled.
Ticket: #5330
Sascha Steinbiss [Thu, 15 Sep 2022 13:57:13 +0000 (13:57 +0000)]
ebpf: update deprecated API calls
This fixes build errors when libbpf 1.0 is used. It removes previously
deprecated API functions that were still in use in Suricata's eBPF
code.
Philippe Antoine [Fri, 2 Sep 2022 07:34:27 +0000 (09:34 +0200)]
pgsql: config limit maximum number of live transactions
As is done for other protocols
Ticket: #5527
Philippe Antoine [Thu, 16 Jun 2022 13:14:27 +0000 (15:14 +0200)]
mqtt: remove quadratic time complexity
When having many transactions in a single parsing call...
Fix has overhead of having one more field in the mqtt state.
Completes commit
a8079dc9787d77cf705aa47000b499a325be0716
Ticket: #5399
Jeff Lucovsky [Sun, 11 Sep 2022 14:00:53 +0000 (10:00 -0400)]
detect/tls: Improve tls.fingerprint rule handling
Issue: 4581
This commit improves the runtime performance of rules with
tls.fingerprint by using the inspection logic from tls.cert_fingerprint.
Jeff Lucovsky [Sun, 11 Sep 2022 13:50:20 +0000 (09:50 -0400)]
detect/uri: Remove unnecessary include
This commit removes an unnecessary #include for detect-uricontent.h
Victor Julien [Mon, 13 Jun 2022 05:44:41 +0000 (07:44 +0200)]
detect/build: minor code cleanup
Victor Julien [Thu, 8 Sep 2022 14:47:21 +0000 (16:47 +0200)]
detect/profiling: track bytes scanned by prefilter engines
Victor Julien [Tue, 30 Aug 2022 09:13:16 +0000 (11:13 +0200)]
detect/tls: add tls.cert_chain_len keyword
Victor Julien [Tue, 23 Aug 2022 09:23:21 +0000 (11:23 +0200)]
eve/tls: warn on unsupported 'custom' options
Victor Julien [Thu, 11 Aug 2022 08:09:18 +0000 (10:09 +0200)]
tls: make SSLSetEvent a macro to help debugging
Victor Julien [Tue, 30 Aug 2022 10:15:31 +0000 (12:15 +0200)]
etc/schema: clang (re)format
Victor Julien [Mon, 19 Sep 2022 18:55:28 +0000 (20:55 +0200)]
github-ci: bump cbindgen to 0.24.3
This addresses issues around the AppLayerTxData type.
Victor Julien [Mon, 19 Sep 2022 18:05:31 +0000 (20:05 +0200)]
flow-manager: reduce locks at startup
Effectively busy looping on a mutex to wait for time to be ready.
Victor Julien [Fri, 16 Sep 2022 09:10:08 +0000 (11:10 +0200)]
common: move u8_tolower to common header
Victor Julien [Thu, 15 Sep 2022 15:25:49 +0000 (17:25 +0200)]
htp: remove user setup from request line callback
This used to be the first callback that was called, but its not anymore.
Codecov confirmed that this is no longer used and therefore not useful.
Victor Julien [Sat, 17 Sep 2022 04:43:05 +0000 (06:43 +0200)]
ipfw: remove unused func prototype
Victor Julien [Fri, 16 Sep 2022 17:50:31 +0000 (19:50 +0200)]
app-layer: fix compiler warning
Victor Julien [Tue, 24 May 2022 09:32:23 +0000 (11:32 +0200)]
debug: remove empty header
Victor Julien [Tue, 24 May 2022 08:18:20 +0000 (10:18 +0200)]
reputation: add ipv6 cidr test
Victor Julien [Tue, 24 May 2022 08:18:02 +0000 (10:18 +0200)]
reputation: fix multiline test
Eric Leblond [Thu, 4 Aug 2022 20:33:52 +0000 (22:33 +0200)]
landlock: handle filestore case
If landlock ABI is inferior to 2 (before Linux 5.19) then the
renaming of files is impossible if the protection is enabled. This
patch disables landlock if ABI < 2 and file-store is enabled.
As file store is initialized in output the call to landlock had to
done after the output initialization.
Eric Leblond [Wed, 3 Aug 2022 21:36:51 +0000 (23:36 +0200)]
doc: document landlock feature
Eric Leblond [Wed, 20 Jul 2022 09:05:57 +0000 (11:05 +0200)]
landlock: basic implementation
This patch is adding support for Landlock, a Linux
Security Module available since Linux 5.13.
The concept is to prevent any file operation on directories where
Suricata is not supposed to access.
Landlock support is built by default if the header is present. The
feature is disabled by default and need to be activated in the YAML
to be active.
Landlock documentation: https://docs.kernel.org/userspace-api/landlock.html
Feature: #5479
Philippe Antoine [Thu, 1 Sep 2022 11:47:16 +0000 (13:47 +0200)]
doc/http2: suricata.yaml max-streams parameter
Ticket: #4949
Juliana Fajardini [Tue, 6 Sep 2022 19:16:45 +0000 (16:16 -0300)]
exceptions: add reject support to exception policy
This enables the usage of 'reject' as an exception policy. As for both
IPS and IDS modes the intended result of sending a reject packet is to
reject the related flow, this will effectively mean setting the reject
action to the packet that triggered the exception condition, and then
dropping the associated flow.
Task #5503
Victor Julien [Mon, 5 Sep 2022 17:28:27 +0000 (19:28 +0200)]
decode/tcp: allow 4 byte TFO with 2 byte cookie
Philippe Antoine [Thu, 25 Aug 2022 15:21:15 +0000 (17:21 +0200)]
dhcp: adds renewal-time keyword
Ticket: #5507
Philippe Antoine [Mon, 22 Aug 2022 13:11:34 +0000 (15:11 +0200)]
dhcp: fix license in detect-dhcp-leasetime.c
from search and replace overkill
Philippe Antoine [Mon, 22 Aug 2022 13:10:59 +0000 (15:10 +0200)]
dhcp: adds rebinding-time keyword
Ticket: #5506
Philippe Antoine [Fri, 17 Jun 2022 09:32:17 +0000 (11:32 +0200)]
nfs4: fix write record handling
Ticket: #5280
Josh Soref [Tue, 9 Aug 2022 12:56:49 +0000 (08:56 -0400)]
detect: function header return value clarification
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Philippe Antoine [Wed, 24 Aug 2022 08:24:51 +0000 (10:24 +0200)]
dcerpc: convert transaction list to vecdeque for UDP
As was done for TCP in
dfe76bb90 and
d745d28d4
Ticket: #5518
Gleb Smirnoff [Wed, 31 Aug 2022 03:15:31 +0000 (20:15 -0700)]
ipfw: use PF_DIVERT on modern FreeBSD
Victor Julien [Tue, 30 Aug 2022 11:08:05 +0000 (13:08 +0200)]
packetpool: fix uaf in debug validation check
Location of the check meant access to freed packet was possible.
Move check and simplify it to just look at the packet at hand.