Skip to content

Releases: snort3/snort3

Snort v3.7.4.0

08 May 21:09
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.19
  • LibML v2.0.0

Changes in this release since 3.7.4.0:

  • appid: fixed crash while printing appid debug
  • appid: multiprocess init for appid third-party syncevents
  • build: apply workaround only for lower versions of LuaJIT. Thanks to Michael Cho for reporting the issue.
  • extractor: add weird and notice logging
  • extractor: extend dns support
  • extractor: support conn.log orig_bytes, resp_bytes
  • flow: don't offset flow instance number by 1 when printing flows
  • http_inspect: add dynamic length-limited publishing of request and response body
  • mp_data_bus: adding peg stats and socket commands for multiprocess databus
  • mp_data_bus: core logic for multi-process databus
  • mp_data_bus: standartize data types
  • mp_unix_transport: clang compilation fix for multiprocess
  • mp_unix_transport: multiprocess_transport plugin type, implementation of unix domain name based multiprocess transport

Snort v3.7.3.0

21 Apr 19:42
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.19
  • LibML v2.0.0

Changes in this release since 3.7.2.0

  • appid: added caching for dns detector
  • appid: fixed unknown payload case for domain fronting
  • control: fix data race in ControlConn touch method
  • dns: handle multi transaction-IDs in single DNS-UDP flow
  • extractor: enable TSV(Tab-Separated Values) formatting
  • extractor: extend dns logging
  • extractor: fix static checker warning
  • extractor: make parsing more strict
  • extractor: simplify CSV logger implementation and add configurable delimiter
  • filters: initialize struct fields when instance is defined
  • flow: fix coverity SWAPPED ARGUMENTS and Y2K38_SAFETY issues
  • helpers: validate input from conf file to verify port number string is valid digits
  • host_tracker: recode while loop to avoid bogus coverity infinite loop warning
  • http2_inspect: added settings_max_frame_size parameter and built-in rule 121:44 to check for max frame size
  • http: initialize class member variables in the ctor
  • ips_options: allocate large buffer for base64 decode from heap instead of on stack
  • loggers: allocate large buffer for writing unified2 extra data from heap instead of stack
  • main: added show_snort_packet_latency() help command support
  • main: do not collect configurations for utility shells
  • main: redirect stdin, stdout, stderr to /dev/null with the freopen system call
  • main: refactor signal handling switch statement, return codes and FatalError
  • managers: use std::move to pass shared ptr to new owner to avoid a copy
  • packet_capture: rename pcaps and change default values

Snort v3.7.2.0

31 Mar 18:58
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.19
  • LibML v2.0.0

Changes in this release since 3.7.1.0

  • appid: added flag to inspect out-of-order packets
  • appid: modified shadow traffic status to default
  • connectors: new unix domain connector
  • dce_rpc: ignoring false positives and fixing spell checks
  • dns: pass packet in DnsResponseEvent
  • dump_config: include PID into dump file name
  • file_api: making current_context as nullptr before it gets the value of ctx and removing redundant check
  • imap:pop: delete if expression that compared session flag to the packet_flag filed
  • main: initialize openssl at startup
  • packet_capture: support packet capture limit and location
  • packet_capture: use existing util function to check directory path
  • pub_sub: basic framework with skeleton APIs multiprocess databus
  • stream_tcp: eliminate redundant calls to initialize the normalizer policy
  • stream_tcp: initialize each tracker's normalizer for missed 3whs behavior invidually when the initial packet is processed by the tracker
  • stream_tcp: make member variables private to improve tracker class encapsulation
  • stream_tcp: only allow legacy OS and FIRST normalizer policies to be configurable. Proxy and missed 3whs modes are determined dynamically per flow
  • stream_tcp: reduce verbosity of packet tracer log messages for normalizer initialization actions
  • stream_tcp: rename OS policy names to prevent conflict with existing macros
  • stream_tcp: split StreamPolicy enum into enums specific to normalization and to overlap resolution
  • unified2: add packet dump to unified event with reassembled udp packet

Snort v3.7.1.0

12 Mar 21:34
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.19
  • LibML v2.0.0

Changes in this release since 3.7.0.0

  • appid: added publishing of domain fronting event
  • appid: adding general appid support and encrypted dns
  • appid: adding log while creating third party context to monitor hanging
  • appid: change get_appid_session_api to use the stash
  • appid: convert appid flow data to use objects
  • appid: fixes for coverity and cppcheck issues
  • appid: implemented domain fronting support for shadow traffic
  • appid: implemented support for shadow traffic evasive vpn & multihop proxy
  • build: add version check for numactl
  • copyright: update year to 2025
  • detection: fix leave_group call which should be against current packet only
  • extractor: add configuration option for time formatting
  • extractor: add escaping for special characters
  • extractor: add support for file name and type for mime
  • extractor: add tenant id as common field
  • extractor: add time formatting in loggers
  • extractor: dns support
  • extractor: fix spelling
  • extractor: print null for fields that require missing packet context
  • extractor: remove obsolete includes
  • file_api: add log message for reset ctx
  • file_api: file event generated for asymmetric flow
  • file_api, http_inspect: add info about partial download to FileInfo
  • file_api: making sha256 point to null to avoid dangling cases
  • file_api: setting current file data inside mutex with file data received before accessing it
  • ftp_telnet: flow data creation when port command is issued for active ftp
  • helpers: add missing include for unit tests
  • ips: fix tsan issue with logging rule tree construction
  • main: allow toggling generation of instance_map output
  • main: snort --create-pidfile cmd line parameter update and support for --max-peers command line parameter implemented
  • network_inspectors: rename kaizen to snort_ml
  • pub_sub: add ips rule event for extractor
  • pub_sub: changes for domain faking for shadowtraffic_aggregator
  • snort_ml: build models into a BinaryClassifierSet
  • stream_tcp: changed asymmetric flows counter increment conditions
  • thread_config: add option for setting NUMA memory policy
  • thread_config: fix numa build issue
  • utils: add is_directory_path

Snort v3.7.0.0

17 Feb 17:44
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.18
  • If you are using rules from snort.org, please use latest Talos_lightSPD package from version 2025-02-12-001 onward (due to API bump)

Changes in this release since 3.6.3.0

  • extractor: add default filter
  • extractor: add logging constraints
  • framework: add interface to warn about reaching limit of ips opt re-usage
  • framework: bump base API version
  • framework: bump ips option version
  • ips_options: warn about excessive detection options

Snort v3.6.3.0

04 Feb 21:28
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.18

Changes in this release since 3.6.2.0

  • appid: added check for brute force manager presence
  • dump_config: implement dump config generation in a file
  • extractor: add handling for connector creation failure
  • extractor: support connection logs
  • file: malware and file events when action changed from block malware to cloud malware lookup event
  • file: retrying the packet when file cache is full
  • flow: add command that dumps only flow summaries
  • framework: remove inspector slot and use get_instance_id instead
  • ftp_telnet: only add expected flows when the daq_msg field in the control packet is not null.
  • hosts: added check to verify ip protocol match on hosts lookup
  • main: add thread_id in instance_mapping output file
  • main: acquire TSC time scale at the startup
  • mercury: telemetry file changes for multiprocess snort
  • packet_io: check the DAQ_Msg_h parameter on api calls and return an error code when it is a null pointer
  • perf_monitor: update structure clearing to C++ method
  • perf_monitor: update flow state value reset

Snort v3.6.2.0

26 Jan 02:25
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.18
  • Libpcre2

Changes in this release since 3.6.1.0

  • appid: adding thresholds to brute-force detection
  • appid: optimised appid logs and trace
  • cmake: modification to search custom jemalloc first
  • data_bus: fix publisher registration data races
  • data_bus: remove unsubscribe methods
  • doc: stylize dependency names in README.md
  • file_api: add pending expire time reset for FileInfo
  • flow: use timeout set on flow rather than using configured timeout
  • hyperscan: fix debug log tsan issue
  • ips: add access to Event references
  • ips_options: ips_content.cc given width and endian parameters for simpler multi-byte char matches
  • ips: update pcre to pcre2
  • js_norm: add stoi out of range exception handling
  • main: support an instance ID dump per-thread
  • pcap: filter Geneve encapsulated packets using inner headers
  • pub_sub: implemented header defintions for shadow traffic aggregator
  • ssl: added length check for cert data processing
  • stream_tcp: evaluate flush policy on asymmetric connections when the connection closes or the tcp session is cleared
  • stream_tcp: initialize 3whs normalizer for peer tracker separately
  • tcp_pdu: rename to tlv_pdu
  • utils: add new header/wrapper for pcre2 code unit width

Snort v3.6.1.0

30 Dec 15:30
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.17

Changes in this release since 3.6.0.0

  • appid: enhanced control error message with additional info
  • build: include/exclude snort_ml module conditionally
  • dns: adding fallback functionality
  • file_api: add re_eval flag to fileinfo
  • inspector_manager: refactored instrumentation code of connection profiling
  • log: print all warnings before command line is parsed
  • main: improve logging reload_config arguments
  • pop: adding wrong bytes threshold to determine if pop splitter should fallback
  • smtp: smtp inspector fallback functionality for invalid commands and responses
  • stream_tcp: refactor tcp reasseabler class structure and init to avoid thread data race scenarios

Snort v3.6.0.0

05 Dec 02:47
Compare
Choose a tag to compare

Dependencies:

  • Libdaq v3.0.17

Changes in this release since 3.5.2.0

  • analyzer: add logging for resource tuning progress
  • appid: adding full path to read list of lua detectors
  • build: update docs about the bump of C++ compiler supported feature set requirement
  • connectors: add std I/O connector and connector API update
  • connectors: fix cppcheck warning in std_connector test
  • extractor: update logger
  • file_api: add unit tests for fileinfo methods
  • flow: publish flow end event
  • http_inspect, mime: add hostname and url for http with mime
  • http_inspect: remove semicolon http_param delimiter
  • ips_options: update module::begin method and reset 'relative' flag
  • main: remove mutex from snort command to show snort cpu

Snort v3.5.2.0

20 Nov 03:51
Compare
Choose a tag to compare

Dependencies:

  • Same as 3.5.1.0

Changes in this release since 3.5.1.0

  • decompress: handle ZIP central directory
  • doc: add extractor logging feature
  • extractor: add ftp service implementation
  • extractor: add imaginary transaction event to FTP
  • extractor: add user field
  • extractor: enable logging for FTP aggregated event
  • extractor: event handlers subscribe by themselves
  • extractor: fix memory management
  • extractor: include type support header explicitly
  • extractor: introduce flow data
  • extractor: log on last response
  • extractor: move extractor event out of snort namespace
  • extractor: refactor code
  • extractor: update dev_notes.txt
  • file_api: add helper methods to unset filename and reset sha
  • ftp: reset cmd_size when reset cmd_str
  • sip: parse all the SIP methods defined
  • stream_tcp: initialize the daq_instance field in the Packet instance allocated for a meta-ack to the value from the wire packet
  • thread: get_relative_instance_number now zero-based