forked from OISF/suricata
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
3471 lines (3293 loc) · 192 KB
/
ChangeLog
File metadata and controls
3471 lines (3293 loc) · 192 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
8.0.1 -- 2025-09-15
Security #7881: detect/tls: keyword tls.subjectaltname leads to NULL Deref if tls.subjectaltname contains zero(HIGH - CVE 2025-59150)
Security #7861: detect: Dynamic-stack-buffer-overflow in ShortenString(HIGH - CVE 2025-59149)
Security #7838: detect/entropy: segfault when not anchored to a sticky buffer(HIGH - CVE 2025-59148)
Security #7657: tcp: syn resend with different seq leads to detection bypasss(HIGH - CVE 2025-59147)
Bug #7891: unix-socket: memory leak when client disconnects during rule reload
Bug #7877: rust: build with RUSTC and CARGO variables fails
Bug #7865: detect/integers: u8 prefilter does not support all modes
Bug #7859: doc/userguide: build failure with read the docs theme
Bug #7843: http: dissection anomaly on `Content-Encoding: identity`
Bug #7836: util-byte: bad usage of StringParse function return codes
Bug #7828: util/hash: unexpected remove behavior
Bug #7827: app-layer: ippair.memcap counter shows memuse
Bug #7824: hyperscan: caching results in segfault with link time optimization (-flto=auto, etc)
Bug #7822: engine-analysis: SEGV on rule failure without rules-fast-pattern enabled
Bug #7821: engine-analysis: no report for failed rules without fast pattern
Bug #7820: app-layer/snmp: internal error if app-layer is disabled
Bug #7815: unix-socket: segfault in "pcap-file-list" command
Bug #7813: cppcheck: warnings in counters.c
Bug #7804: util-lua-sandbox.c undeclared identifier error for Suricata 8.0.0
Bug #7803: http: use transactions right get function
Bug #7802: detect/dsize: uninitialized value from SigParseRequiredContentSize
Bug #7741: http2: events can contain an empty response object
Bug #7740: doh2: events are always dns even if there is no DNS info (pure HTTP2 settings)
Bug #7651: decoder/pppoe: valid packets are getting dropped as decoder.ppp.unsup_proto
Bug #7636: tcp: assertion triggered in StreamTcpReassembleAppLayer
Bug #7611: eve: segv in stats.totals output
Bug #5689: eve: community id computed wrong for tcp and ipv4 when src_ip == dest_ip
Bug #4702: tcp: SYN/ACK dropped when client does not support timestamps
Bug #4178: alert-debug: DNS Query triggers alert but no output in alert-debug.log
Bug #3844: tcp: possible bypass with TCP ssn reuse
Optimization #7769: detect/file: remove redundant de_ctx->rule_file != NULL check
Feature #7869: detect/integers: support units like kib
Task #7857: schema/arp: fix invalid pkt event output
Task #7834: detect: remove unused non-pf stats counters
Documentation #7890: detect: tls.cert_subject incorrectly claims to support multi-buffer
Documentation #7867: detect/multi-buffers: complete list in userguide page on multi-buffer-matching
Documentation #7854: doc/lualib: fix flow timestamps() return value order
Documentation #7795: eve/schema: document stats.detect counters
Documentation #7794: eve/schema: document stats.flow counters
Documentation #7728: lua: fix all Lua documentation examples for new library format
Documentation #7648: rtd: set "latest" to last stable release starting with 8.0.0
Documentation #7639: dpdk: update Connect-X4 recommended fallback tx-descriptor count
Documentation #7631: userguide: document lua lib suricata.dnp3
Documentation #7190: detect/integers: document usage of units
Documentation #7081: userguide: add unix socket option to retrieve flow info
Documentation #6840: devguide/app-layer: section with conceptualized steps for adding parser
Documentation #6284: userguide: document what's the impact of `stream.inline`
Documentation #6270: userguide: document usage of Suricata as a firewall
Documentation #5690: userguide: document the differences between IPS and IDS mode
Documentation #5513: userguide: add a chapter for IPS mode
Documentation #5139: userguide: add a section for netflow event type
Documentation #5078: doc/userguide: improve rule reload documentation
Documentation #4351: doc: explain the engine logic to trigger inspection of TCP data
8.0.0 -- 2025-07-08
Security #7658: http2: global tx (stream id 0) may open file and never close it(HIGH - CVE 2025-53538)
Bug #7798: dpdk: auto count of threads assigns more threads than affined
Bug #7791: http: BUG_ON assertion reached in packet path
Bug #7790: affinity: intermittent unittest failures
Bug #7789: dpdk: compilation warning of a function without prototype
Bug #7783: smtp: incorrect inspection window
Bug #7752: decode: no parent packet flow for ip-in-ipv6
Bug #7678: mpm/ac: error "Just ran out of space in the queue"
Bug #7649: lib: suricata version in sys crate needs to be updated on build
Bug #1484: src: BUG_ON(1) statements in the packet path
Optimization #7643: excessive mtu messages at start up
Optimization #7212: strtoul: replace with ByteExtractString variant
Optimization #6264: mpm/ac-ks: reduce stack usage
Optimization #4753: lua: fix inconsistency in the init "needs" key
Documentation #7749: doc: update user manual seciton on RPMs
Documentation #7723: doc/exceptions: review 'inspection' terminology
Documentation #7648: rtd: set "latest" to last stable release starting with 8.0.0
Documentation #7078: devguide: document current ffi naming style
Documentation #6955: devguide: update coding-style docs
Documentation #6566: userguide: add description for missing EVE krb fields
Documentation #6288: eve/schema: generate tables of data for app-layer protocols
Documentation #6252: userguide/install: move Ubuntu distros to their own page
Documentation #6069: userguide/install: move RPM distros to their own page
Documentation #6022: devguide: explain how the engine identifies applayer protocols
Documentation #5911: userguide: update & bring guide for installation on Windows to RtD
Task #7758: decode: add stats counters for ipv4/ipv6 over ipv4
Task #7750: packaging: rpm for RHEL 10
Task #7632: suricata-lua-sys: tag with a non-prerelease version
Task #6941: lua: review and document lua rule return types
Task #6814: libsuricata: opt-in signal handling
Task #6359: detect/analyzer: add more details for the ICMP icode keyword
Task #6262: tracking: reduce stack usage
8.0.0-rc1 -- 2025-06-12
Feature #7715: rules: add option to skip flow tracking for a packet
Feature #7714: detect: add pre_flow rule hook
Feature #7713: detect: add tcp.wscale keyword to match on TCP wscale option values
Feature #7712: detect: add pre_stream rule hook
Feature #7702: commandline: add --list-app-layer-hooks option
Feature #7645: pgsql: add CopyIn subprotocol/mode
Feature #7635: eve: include transaction count
Feature #7599: mime: add email.received keyword
Feature #7597: mime: add email.url keyword
Feature #7593: mime: add email.message_id keyword
Feature #7507: rules: ftp.completion_code keyword
Feature #7506: rules: ftp.reply_received keyword
Feature #7505: rules: ftp.mode keyword
Feature #7504: rules: ftp.dynamic_port keyword
Feature #7372: Datajson: a dataset evolution
Feature #7047: eve: add ip version field
Feature #7036: DPDK NUMA setup: choose correct CPUs from worker-cpu-set
Feature #6805: cpu-affinity: enhance CPU affinity logic with per-interface NUMA preferences
Feature #6695: tls: log extensions
Feature #6259: pgsql: add `query` detection keyword
Feature #5692: http: brotli content encoding for HTTP/1.1
Feature #4099: app-layer: allow direct rule keyword registration
Feature #3952: protocols: implement mDNS
Feature #2290: lua: use script as transform
Bug #7747: affinity: warnings in the granular thread affinity settings code
Bug #7746: suricatasc does not handle reconnect
Bug #7735: brotli: old crate version has integer underflow
Bug #7732: http1: use cursor wrapper handling EOF for brotli
Bug #7730: dcerpc: uint16 overflow (rust debug assertion)
Bug #7725: decode/ipv4: missing ip-in-ip case handling
Bug #7698: firewall: eve verdict field should state "accept" instead of alert
Bug #7694: flow: elephant flow counts previous bytes revisiting an index
Bug #7689: Dataset of type IP can't set IPv4
Bug #7687: flow: non-TCP protocol timeout handling leads to missing flows
Bug #7681: flow: race condition at shutdown leads to duplicate flows
Bug #7671: lua: suricata-lua-sys needs to honor MSAN oss-fuzz flags
Bug #7668: http: lack of setting updated_ts leads to firewall bypass
Bug #7665: transaction rules: support filesize
Bug #7653: ips: deconflict pass flow and drop packet rules
Bug #7647: pgsql: empty request logged if password message disabled
Bug #7634: hyperscan: coverity warnings
Bug #7579: detect/files: local_file_id not incremented if inspection buffer is NULL
Bug #7568: pcap: continuous file reading fails on an empty directory
Bug #7549: detect: using different sticky buffers for byte_extract and byte_jump leads to undefined value before doing the jump
Bug #7498: rust: cleanup of extern "C" functions and no_mangle
Bug #7479: segfault using dummy config output.eve-log.types.alert.payload-buffer-size = 0
Bug #7420: detect-engine: warning fgets could get negative value
Bug #7390: byte_extract: issue with saved 'name' in distance keyword
Bug #7374: dpdk: iface-copy should not be mandatory
Bug #7344: build: build can sometimes fail copying the lua headers into place
Bug #7285: Websocket compression mishandling
Bug #7236: plugins: custom transaction loggers cannot be registered by a plugin
Bug #7019: snmp: probing parser returns ALPROTO_FAILED instead of ALPROTO_UNKNOWN if slice.len() < 4
Bug #7004: app-layer: wrong tx may be logged for stream rules
Bug #6981: dpdk: compiler warnings about lossy integer precision
Bug #6400: log of DNS answer is in wrong direction
Bug #6186: Integer overflows 64 to 32 bytes
Bug #5739: htp: handle alloc failure for user data
Bug #5177: detect/analyzer: rule analyzer warns about http buffers usage
Bug #4815: unix socket: ftp memcap missing from socket commands
Bug #3436: suricatasc: crashing using command 'reopen-log-files'
Optimization #7733: transforms: move base64 transform pure rust
Optimization #7708: http1: add tx iterator
Optimization #7529: detect/dns: move wrapper code from C to rust
Optimization #7353: files: remove deprecated force-md5 config option
Optimization #7292: CI: clang-format rechecks every main-7.0.x commit
Optimization #7083: detect/dataset: skip adding localstatedir if fullpath is provided
Task #7727: lua: suricata.log library
Task #7673: libsuricata: rate_filter callback
Task #7656: fast.lua: update script to reflect library use
Task #7609: lua: suricata.util lib
Task #7608: lua: turn tls into lib
Task #7607: lua: turn ssh into lib
Task #7606: lua: turn smtp into lib
Task #7605: lua: turn ja3 into lib
Task #7603: lua: turn hassh into lib
Task #7598: mime: add email.x_mailer
Task #7591: mime: add email.date keyword
Task #7491: lua: turn file into lua lib
Task #7490: lua: turn rule into lua lib
Task #7487: lua: turn flowints into lib
Task #7486: lua: turn flowvars into lib
Task #7461: suricata-verify: pass all tests
Task #7079: rust: unify rust ffi style
Task #7026: app-protos: trigger raw stream inspection
Task #6573: rust: set new minimum Rust version for Suricata 8
Task #3695: research: libhwloc for better autoconfiguration
Documentation #7683: mime: add email.attachment keyword
Documentation #7329: doc: explain the priority ports setting
Documentation #7143: doc: legacy keyword http_host used in examples
Documentation #5485: userguide: explain that the http.header_names buffer is normalized
8.0.0-beta1 -- 2025-04-08
Feature #7644: pgsql: add CopyOut subprotocol/mode
Feature #7633: dpdk: refrain from creating TX queues on zero TX descriptors
Feature #7620: smb: configurable logging
Feature #7596: mime: add email.to keyword
Feature #7595: mime: add email.subject keyword
Feature #7592: mime: add email.from keyword
Feature #7588: mime: add email.cc keyword
Feature #7565: dcerpc: rpc interfaces info in request event
Feature #7533: detect/ldap: add ldap.request.attribute_type and ldap.request.attribute keywords, and same for responses
Feature #7532: detect/ldap: add keywords for LDAPResult
Feature #7517: detect: smtp.mail_from keyword
Feature #7516: detect: smtp.rcpt_to keyword
Feature #7515: detect: smtp.helo keyword
Feature #7513: detect/integers: add support for negated strings when enum is used
Feature #7508: rules: ftp.reply keyword
Feature #7503: rules: ftp.command_data keyword
Feature #7502: rules: ftp.command keyword
Feature #7485: rules: allow specifying explicit hooks
Feature #7482: eve/flow: log tcp session reuse as a timeout reason
Feature #7481: rules/actions: explicit action scopes
Feature #7477: ldap: add support for AbandonRequest
Feature #7471: detect/ldap: add ldap.distinguished_name keywords for request and response
Feature #7453: detect/ldap: add ldap.request.operation and ldap.response.operation keywords
Feature #7433: eve/alert: enrich decoder event rules
Feature #7403: requires: add ability to check for a rule keyword
Feature #7382: dpdk: create separate packet mempools per queue
Feature #7381: dpdk: when running with ice driver fully start only when link state change event is caught
Feature #7380: dpdk: provide "auto" option for RX/TX descriptors
Feature #7373: dpdk: provide "auto" option to mempool-size property
Feature #7337: dpdk: implement configuration of RSS using rte_flow rules for major cards
Feature #7330: dpdk: support HW VLAN stripping
Feature #7320: flow: add user registerable flow update callbacks
Feature #7319: flow: add user registerable flow initialization callback
Feature #7311: http1: log invalid status as string
Feature #7291: sdp: implements sticky buffer
Feature #7243: lua: expose dataset functions
Feature #7240: libsuricata: use provided threads and packets
Feature #7204: sip: rustify sticky buffers
Feature #7203: ldap: extend parser for udp
Feature #7202: ldap: frame support
Feature #7170: hyperscan: Cache Hyperscan databases to disk to speed up the startup
Feature #7120: threshold: add backoff type
Feature #7108: tls: ALPN keyword
Feature #7098: eve: add payload length field
Feature #7074: lua: expose base64 functions
Feature #7073: lua: expose hashing functions (md5/sha1/sha256)
Feature #7055: tls: log ALPN
Feature #7051: websocket: data frame
Feature #7045: tls-store: add support client certs
Feature #7017: dns: add OPT rdata struct and parsing
Feature #7012: rules: add dns.response sticky buffer
Feature #7011: dns: additional section parsing and logging
Feature #6967: multi-tenancy: support thresholding per tenant
Feature #6943: pcap: datalink type 229 not (yet) supported in module PcapFile
Feature #6939: lua: incremement stat when a lua rule exhausts its instruction count
Feature #6857: iprep: support seeing if rule is part of a rep list
Feature #6856: http: anomaly when request line is missing protocol
Feature #6832: pcap/log: Support BPFs for filtering pcap output
Feature #6827: arp: implement decoder and logger
Feature #6822: threshold: support tracking by flow
Feature #6788: bypass: decouple stream.bypass dependency from TLS encrypted bypass
Feature #6739: dpdk: warn the user if user-settings are adjusted to the device capabilities
Feature #6666: dns: add keyword for dns rrtype: dns.rrtype
Feature #6648: detect: integer: support bitmasks
Feature #6647: detect: integers: support for enumerations
Feature #6646: detect: integer: support negated ranges
Feature #6645: detect: integer parsed with hexadecimal notation
Feature #6637: requires: add skipped rules to stats
Feature #6627: sdp: add protocol parser and logger
Feature #6621: dns: add keyword for dns rcode: dns.rcode
Feature #6550: profiling/rules: allow enabling profiling for pcap file runs
Feature #6546: detect/transform: strip_pseudo_headers
Feature #6497: dns: new detection buffer: dns.query.name
Feature #6496: dns: new detection buffer: dns.answer.name
Feature #6487: detect/transform: from_base64
Feature #6480: plugins: allow plugins to specify the version of suricata they are for
Feature #6455: txbits: support for new type of bits
Feature #6439: rules: add to_lowercase transform
Feature #6426: http2: app-layer-event and normalization when userinfo is in the :authority pseudo header for the http.host header
Feature #6396: rules: add protocol string support for mqtt
Feature #6379: ja4: support for TLS and QUIC
Feature #6374: sip: add sticky buffers for headers
Feature #6366: pop3: protocol detection
Feature #6290: http: support case insensitive testing of header name existence
Feature #6260: flow: flow matching excluding packet recursion level
Feature #6215: flow/output: log triggered exception policy
Feature #6164: rules: allow matching on flow pkts and bytes
Feature #6090: eve/alert: missing dcerpc metadata
Feature #6079: eve/dcerpc: eve/smb: log dcerpc uuid with request/response txs
Feature #5976: eve/stats: allow hiding counters whose value is 0
Feature #5972: rules: "requires" keyword representing the minimum version of suricata to support the rule
Feature #5839: dpdk: power saving mode
Feature #5816: stats: exception policy counters
Feature #5773: doh: support DNS over HTTPS (DoH)
Feature #5743: http2: add frame support
Feature #5734: ssh: add frame support
Feature #5665: rules: bidirectional transaction matching
Feature #5647: rules: mark flow as elephant flow
Feature #5646: rules: allow matching on flow pkts and bytes in either direction
Feature #5489: research: multi version rules; or version dependent rules
Feature #5466: detect: allow alert-then-pass logic
Feature #5446: rules: allow ranges in dns.opcode value
Feature #5234: tls: subjectAltName buffer
Feature #5082: smb: keyword for matching the SMB files
Feature #5075: smb: keyword for the SMB version
Feature #4974: eve: log rule references
Feature #4905: smtp: add stream app-layer frame support
Feature #4904: dcerpc: frames support
Feature #4853: eve: Add information about Suricata version
Feature #4777: lua: implement sandboxing
Feature #4776: lua: vendor latest lua stable
Feature #4321: http2: Support link between packets in the same stream
Feature #4102: plugins: support creating app-layer parser, logger and detect
Feature #3958: enip: convert protocol parser to rust
Feature #3487: mime: multi-part parser in Rust
Feature #3351: sip: parse traffic over tcp
Feature #2816: vlan: support more than 2 layers
Feature #2696: http: implement parser in rust
Feature #2695: websocket support
Feature #2486: prefilter/fast_pattern logic for flowbits
Feature #2377: deprecate: ssh.softwareversion and ssh.protoversion
Feature #2280: http: rules that match both request and response
Feature #1971: lua: make mandatory
Feature #1520: multi-tenancy: verbose output clarity
Feature #1199: protocol: LDAP support
Feature #1125: smtp: improve protocol detection
Feature #1065: rules: introduce vlan id keyword
Feature #845: stats: track memory consumption
Security #7615: datasets: signature keyword setting can cause high memory usage(MODERATE - CVE 2025-29916)
Security #7613: decode_base64: signature can do large memory allocation(HIGH - CVE 2025-29917)
Security #7526: detect: infinite loop in DetectEngineContentInspectionInternal with negated pcre(HIGH - CVE 2025-29918)
Security #7465: ldap: bound of number of transactions is not fully enforced
Security #7464: doh2: buffer is not really limited to 65K as should be for DNS
Security #7458: af-packet: defrag option can lead to truncated packets(HIGH - CVE 2025-29915)
Security #7450: tracking: signature can allocate arbitrary amount of memory
Security #7411: tcp: generic detection bypass using TCP urgent support(HIGH - CVE 2024-55629)
Security #7393: tcp: segfault on StreamingBufferSlideToOffsetWithRegions(CRITICAL - CVE 2024-55627)
Security #7366: bpf: oversized bpf file can lead to buffer overflow(MODERATE - CVE 2024-55626)
Security #7280: dns: quadratic complexity in logging and invalid json as output(HIGH - CVE 2024-55628)
Security #7267: ja4: non alphanumeric characters in alpn lead to panic(CRITICAL - CVE 2024-47522)
Security #7229: detect: write to read-only memory in transforms(CRITICAL - CVE 2024-55605)
Security #7209: thash: random factor not used; possible abusive hash collisions(CRITICAL - CVE 2024-47187)
Security #7195: datasets: rule with unset makes suricata abort(HIGH - CVE 2024-45795)
Security #7191: http: quadratic complexity in headers processing/finding(CRITICAL - CVE 2024-45797)
Security #7183: smb: hashmap entries not removed for error responses
Security #7104: http2: oom from duplicate headers(CRITICAL - CVE 2024-38535)
Security #7085: eve: transactions can be logged an arbitrary number of times
Security #7067: defrag: off by one leads to possible evasion(HIGH - CVE 2024-45796)
Security #7040: defrag: id reuse can lead to invalid reassembly(CRITICAL - CVE 2024-37151)
Security #7029: http/range: segv when http.memcap is reached(HIGH - CVE 2024-38536)
Security #6987: modbus: txs without responses are never freed(MODERATE - CVE 2024-38534)
Security #6902: base64: off-by-three overflow in DecodeBase64()(HIGH - CVE 2024-32664)
Security #6900: http2: timeout logging headers(HIGH - CVE 2024-32663)
Security #6892: http2: oom on copying compressed headers(CRITICAL - CVE 2024-32663)
Security #6866: eve: excessive ssh long banner logging(HIGH - CVE 2024-28870)
Security #6799: ssh: quadratic complexity in overlong banner(CRITICAL - CVE 2024-28870)
Security #6796: output/filestore: slowdown because of running OutputTxLog on useless packets
Security #6770: log: arbitrary-length value can be logged
Security #6757: libhtp: quadratic complexity checking after request line missing protocol(CRITICAL - CVE 2024-28871)
Security #6680: smb: pcap with many open files takes too much time
Security #6675: ip-defrag: packet can be considered complete even with holes(MODERATE - CVE 2024-32867)
Security #6669: ip defrag: re-assembly error in bsd policy(MODERATE - CVE 2024-32867)
Security #6668: ip defrag: final overlapping packet can lead to "hole" in re-assembled data(MODERATE - CVE 2024-32867)
Security #6493: ip defrag: several issues with overlap handling
Security #6481: http2: quadratic complexity in find_or_create_tx not bounded by max-tx(CRITICAL - CVE 2024-23836)
Security #6477: smtp: quadratic complexity from unbounded number of transaction per flow(CRITICAL - CVE 2024-23836)
Security #6444: http1: quadratic complexity from infinite folded headers(CRITICAL - CVE 2024-23837)
Security #6441: detect: heap use after free with http.request_header keyword(CRITICAL - CVE 2024-23839)
Security #6411: pgsql: quadratic complexity leads to over consumption of memory(HIGH - CVE 2024-23835)
Security #6299: mqtt: pcap with anomalies takes too long to process because of app-layer-event detection
Security #5926: http2: evasion by splitting header fields over frames(HIGH - CVE 2024-24568)
Security #5921: http1: configurable limit for maximum number of live transactions per flow(CRITICAL - CVE 2024-23836)
Bug #7618: af-packet: setting bpf fails
Bug #7577: detect/files: file.data does not use content passed when closing the file internally
Bug #7567: dcerpc: assertion triggered !((res.needed + res.consumed < input_len))
Bug #7562: detect/flow: null deference in signature parsing
Bug #7560: detect/krb5: undefined behavior with krb5.ticket_encryption when passing -INT32_MAX
Bug #7556: quic: valid traffic blocked in IPS mode
Bug #7554: tls: parser error on unACK'd data in FIN shutdown
Bug #7552: app-layer: misdetection if response is seen first without request
Bug #7548: dcerpc: avoid integer underflow
Bug #7523: rules/prefilter: prefilter keyword ignored when in content rule
Bug #7521: detect/ip-only: false positive alerts on pseudo packets ending a one direction flow
Bug #7495: protocol detection: probing parsers do not finish as soon as possible
Bug #7469: smtp: recognize when client initiated TLS
Bug #7467: detect: checksum detection broken by stream.checksum-validation
Bug #7466: lua: Flowvar memory leak
Bug #7455: flow: flow timeout behavior non-deterministic
Bug #7449: app-layer metadata does not get logged for stream rules and unidirectional protocols
Bug #7447: NULL dereference in ThreadLogFileHashFreeFunc in bug-5198 SV test
Bug #7444: dpdk: RSS key length missmatch on ice (E810) card with DPDK version 22.11.6
Bug #7440: eve/frame: incomplete frame logging
Bug #7437: protocol detection : probing parsers are limited to 32 by use of bitflag
Bug #7436: sip: remove UPDATE pattern as already used by HTTP/1.1
Bug #7435: fuzz: fix protocol detection target initialization sequence
Bug #7422: tcp: GAP event set on unack'd data following a RST
Bug #7418: requires: rules with unmet requirements are still loaded
Bug #7417: rust: remove shared reference to static mutable
Bug #7414: detect: decoder event rules fail to match on invalid packets
Bug #7409: http: crash in strip_pseudo_headers transform
Bug #7406: eve: Alerts with app_proto=tls no longer logs the tls app data
Bug #7398: datasets: scan-build warning call to blocking fn inside critical section
Bug #7394: ldap: support starttls with tls upgrade
Bug #7365: flow-manager: multi Flow Manager memory leak problem
Bug #7361: rules: unknown internal events not being detected as errors
Bug #7359: eve/syslog: crashes on use
Bug #7338: rust: different int types turn garbage on FFI boundary
Bug #7334: asan/profiling: global-buffer-overflow error
Bug #7333: tls: impossible to log alpns with 'custom' logging
Bug #7332: tls: fix duplicate EVE field issuerdn
Bug #7326: http: FN with prefilter if the first of multi buffer did not match
Bug #7325: sdp: one or more time descriptions
Bug #7323: mqtt: wrong and missing direction for keywords
Bug #7318: flow: flow timeout pseudo packet triggers unexpected alert
Bug #7315: template: remove usage of template-rust
Bug #7314: misc/warnings: compile warnings during build
Bug #7309: http: incorrect file direction handling
Bug #7305: sdp: media's encryption key not logged
Bug #7303: detect: memleak in case of errors during initialization
Bug #7302: conf: memleak if yaml parser is initialized before checking if file exists
Bug #7300: output: oversized records lead to invalid json
Bug #7296: detect: transform base64 creates a 0-sized variable-length array
Bug #7279: dns: protocol detection is not strict enough
Bug #7270: conf: nullptr dereference if mem alloc fails for a node in yaml parser
Bug #7264: detect/flow: ACK with data on 3whs fails to match 'flow:established'
Bug #7256: ja3: Error: ja3: Buffer should not be NULL
Bug #7253: fuzz: CIFuzz is not fuzzing PRs as it is supposed to
Bug #7241: app-layer-protocol: negated matching false positive
Bug #7238: app-layer: protocol flows are miscounted in case of error
Bug #7235: tls: a rule stops working since 7.0.5
Bug #7230: dcerpc: invalid dcerpc header is not rejected
Bug #7228: dns: no data logged, and no events with udp corrupt additional record
Bug #7226: lua: use crate from crates.io instead of github to fix offline builds
Bug #7218: profiling: packet profiling to log file is only active with rule profiling
Bug #7213: frames: stream frame is not always the first one registered
Bug #7210: docs: inconsistent spelling in documentation for RFB `security_result` key
Bug #7206: cbindgen: comptability with newer version 0.27
Bug #7200: smtp: crash in ByteExtractString
Bug #7199: detect: missing app-layer metadata in alerts
Bug #7187: detect: dcerpc logging and matching issues
Bug #7181: fuzz: File confyaml.c is missing
Bug #7176: ldap: crash when encountering GAP
Bug #7172: detect/integers: do not bother to free NULL pointer on setup/parse failure
Bug #7169: lua/output: vendored lua search for modules in /usr/local/ rather than /usr/
Bug #7158: tcp: 'broken ack' event set on flow timeout
Bug #7135: util/thash: debug assertion for memuse
Bug #7126: decode/base64: Error message on packet path.
Bug #7121: smb/ntlmssp: nonsense smb.ntlmssp.version values
Bug #7115: dpdk: timestamping packets through TSC does not yield the same time as kernel time
Bug #7113: pgsql: track 'progress' in tx per direction
Bug #7111: protodetect: DNS flow direction is not correct sometimes
Bug #7106: packet: app-layer-events incorrectly used on recycled packets
Bug #7093: sip: wrong slice used for sip_take_line with tcp leads to quadratic oom
Bug #7059: smtp: split name logged as 2 names
Bug #7053: bypass: cannot bypass udp flow from first packet in second direction
Bug #7049: util/radix-tree: Possible dereference of nullptr in case of unsuccess allocation of memory for node
Bug #7048: af-packet: failure to start up on many threads plus high load
Bug #7037: pcap/log: MacOS rotates file well before limit is reached
Bug #7034: time: in offline mode, time can stay behind at pcap start
Bug #7028: base64: heap buffer overflow in RFC 2045 and 4648 modes
Bug #7025: websocket: wrong value for opcode ping/pong
Bug #7022: unix-socket: iface-bypassed-stat crash
Bug #7020: unix-socket: hostbit commands don't properly release host
Bug #7013: rust: build with rust 1.78 with slice::from_raw_parts now requiring the pointer to be non-null
Bug #7000: pgsql: trigger raw stream reassembly
Bug #6994: sip/sdp: logget closes unopened array for empty medias
Bug #6989: tls.random buffers don't work as expected
Bug #6985: base64: coverity dead code warning
Bug #6984: mqtt: do not log non-string messages?
Bug #6983: eve/alert/metadata: no pgsql object encapsulation
Bug #6973: detect: log relevant frames app-layer metdata
Bug #6969: dataset: lookup function is not working with ip type
Bug #6964: base64: consumed bytes are incorrectly set for different modes
Bug #6959: http: improve handling of content encoding: gzip but request_body not actually compressed
Bug #6957: Assert: BUG_ON(id <= 0 || id > (int)thread_store.threads_size);
Bug #6954: eve: packet field packet_info.linktype is non-portable
Bug #6948: detect/http.response_body: false positive because not enforcing direction to_client
Bug #6942: decode/ppp: decoder.event.ppp.wrong_type on valid packet
Bug #6940: lua: handle errors in lua rules
Bug #6921: jsonbuilder: serializes Rust f64 NaNs to an invalid literal
Bug #6918: pcre2: compile warning
Bug #6913: reimplement systemd sd_notify w/o linking to libsystemd
Bug #6906: smtp/mime: data command rejected by pipelining server does not reset data mode
Bug #6904: mime: buffer overflow in GetFullValue() (util-decode-mime.c)
Bug #6903: streaming buffer: heap overflows in StreamingBufferAppend()/StreamingBufferAppendNoTrack()
Bug #6896: detect/port: upper boundary ports are not correctly handled
Bug #6891: sip: usage of Vec instead of Vecdeque leads to quadratic complexity on cleanup
Bug #6889: detect: slowdown in rule parsing
Bug #6887: defrag: reassembled packet can have wrong datatype
Bug #6883: rust: clippy 1.77 warning
Bug #6881: detect/port: port grouping does not happen correctly if gap between a single and range port
Bug #6877: Suricata 8 general protection fault ip:698117 sp:7fd537b08090
Bug #6875: output/alert: assertion failed p->flow != NULL
Bug #6871: dpdk: fix compatibility issues for ice cards
Bug #6864: detect: ipopts keyword false positive
Bug #6861: profiling/rules: crash when profiling ends
Bug #6846: eve/alerts: wrongly using tx id 0 when there is no tx
Bug #6843: detect/port: port ranges are incorrect when a port is single as well as a part of range
Bug #6839: coverity: warning in port grouping code
Bug #6838: eve/filetypes: move from plugin api to eve api
Bug #6837: netmap: error message Netmap pipes (with lb)
Bug #6835: BUG_ON triggered from TmThreadsInjectFlowById
Bug #6834: iprep: rule with '=,0' can't match
Bug #6811: capture plugins: capture plugins unusable due to initialization order
Bug #6790: dpdk: evaluate the correct handling of DPDK ports on shutdown
Bug #6787: decode/pppoe: Suspicious pointer scaling
Bug #6782: streaming/buffer: crash in HTTP body handling
Bug #6778: detect/tls.certs: direction flag checked against wrong field
Bug #6766: multi-tenancy: dead lock during tenant loading
Bug #6762: hugepages: error for FreeBSD when kernel NUMA build option is not enabled
Bug #6760: af-packet: hugepages Error for ARM64 and af-packet IPS mode
Bug #6755: netmap: deadlock if netmap_open fails
Bug #6753: detect/cip: missing return-value check for a 'scanf'-like function
Bug #6745: util/mime: Memory leak at util-decode-mime.c:MimeDecInitParser
Bug #6741: dpdk: automatic cache calculation is broken
Bug #6737: dpdk: property configuration can lead to integer overflow
Bug #6733: tcp: tcp flow flags changing incorrectly when ruleset contains content matching
Bug #6732: eve/stats: parent interface object in stats contains VLAN-ID as keys
Bug #6726: stream: stream.drop-invalid drops valid traffic
Bug #6715: dpdk: NUMA warning on non-NUMA system
Bug #6710: rules: failed rules after a skipped rule are recorded as skipped, not failed
Bug #6678: datasets: discard datasets that hit the memcap while loading correctly
Bug #6664: eve/smtp: attachment filenames not logged
Bug #6661: detect/content-inspect: FN on negative distance
Bug #6656: detect/requires: assertion failed !(ret == -4)
Bug #6643: http: wrongly assuming http0.9 leads to missed headers
Bug #6634: tls: Invalid ja3 due to double client hello
Bug #6633: stats: flows with a detection-only alproto not accounted in this protocol
Bug #6619: profiling: runtime much longer to run than it used to
Bug #6618: endace: timestamp fixes
Bug #6617: detect/filestore: flow, to_server was broken by moving files into transactions
Bug #6615: detect/analyzer: misrepresenting negative distance value
Bug #6592: mqtt: frames on TCP are not set properly when parsing multiple PDUs in one go
Bug #6585: src: SCTIME_FROM_TIMESPEC() creates incorrect timestamps
Bug #6584: src: SCTIME_ADD_SECS() macro zeros out ts.usec part
Bug #6578: ssh: no alert on packet with Message Code: New Keys (21)
Bug #6574: detect/filestore: memory leak on rule parsing
Bug #6553: eve/alert: payload/payload_printable misrepresent data in case of overlaps
Bug #6551: Invalid registration of prefiltering in stream size
Bug #6547: http2: http.response_line has leading space
Bug #6527: cppcheck 2.11 errors
Bug #6501: eve/alert: missing TFTP metadata
Bug #6500: eve/alert: missing FTP metadata
Bug #6490: profiling: rule profiling doesn't support absolute paths
Bug #6483: http.request_headers - odd behavior with multiple signtures
Bug #6419: dpdk: Analyze hugepage allocation on startup more thoroughly
Bug #6415: http: various header buffer not populated when malformed header value exists
Bug #6414: detect-engine/port: recursive DetectPortInsert calls are expensive
Bug #6408: Output plugins receive identifier, but not thread identifier
Bug #6405: eve: ethernet src_mac should match src_ip
Bug #6398: eve/stats: threads object in stats contains memcap_pressure scalars
Bug #6393: detect/filestore: be more explicit about the U16_MAX limit per signature group head
Bug #6390: detect/filestore: do not store if "both,flow" is triggered after the file was set to "nostore"
Bug #6389: pgsql: u16 overflow found by oss-fuzz w/ quadfuzz
Bug #6376: detect: huge increase on start up time with a lot of ip-only rules and bigger HOME_NET
Bug #6347: log-pcap: crash with suricata.yaml setting max-file to 1
Bug #6305: drop: assertion failed !(PKT_IS_PSEUDOPKT(p)) && !PacketCheckAction(p, ACTION_DROP)
Bug #6304: schema.json : if protocol such as ENIP is detection only, we do not have _tcp suffix in stats
Bug #6281: dns: structure of query differs between "alert" and "dns" event types
Bug #6280: base64: strict mode should only accept strings that can be reliably converted back
Bug #6254: bypass: thread "FB" failed to start in time: flags 0003
Bug #6092: eve/alert: missing pgsql metadata
Bug #6080: pgsql/probe: TCP on 5432 traffic incorrectly tagged as PGSQL
Bug #5977: eve/alert: missing KRB5 metadata
Bug #5539: landlock: coverity warnings
Bug #5524: pgsql: parser should not error on parsing error, so as to keep on parsing the next PDUs
Bug #5491: smtp: response 530 appears to generate an invalid response alert
Bug #5486: eve: ethernet metadata is missing for some protocols or parts of a protocol
Bug #5279: nom: use of count combinator can use too much memory
Bug #5220: detect/base64_data: fast_pattern shouldn't be allowed
Bug #5185: mime: URL extraction missing
Bug #4921: detect/app-layer-protocol: unexpected results when one direction state "failed"
Bug #4858: fuzz: Timeout with pcre
Bug #4734: pfring: memory leak
Bug #3910: datasets: for type string the memcap isn't applied to the string data
Bug #3682: detect/bsize: error for impossible matching conditions
Bug #2886: imap: protocol detection is incomplete
Bug #2881: http.protocol parsing inaccuracy : accept spaces in URI
Bug #2224: rules: negated http_* match returns false if buffer not populated
Bug #1457: conf: non-standard units used for file size indication
Optimization #7617: af-packet: set defrag based on passive or inline mode
Optimization #7558: detect: convert rule group dumping to JsonBuilder
Optimization #7358: CI: only run CodeQL python if the PR contains changed files that are python
Optimization #7304: detect: improve support for multi-protocol keywords
Optimization #7297: src: remove duplicate function declarations
Optimization #7272: af-packet: improve startup time
Optimization #7208: tcp/reassemble: GetBlock takes O(nlgn) in worst case
Optimization #7185: stats: exceptions: use search-friendly log output
Optimization #7178: rfb: rustify keywords and app-layer registration
Optimization #7155: pcap: use larger read size buffer for a performance increase
Optimization #7087: app-layer: track modified transactions
Optimization #7065: base64: move the decoder to rust
Optimization #7044: app-layer: clean up truncate callbacks and logic
Optimization #7018: dns/tcp: allow triggering raw stream reassembly
Optimization #7002: detect: move pseudo packet checks out of keyword Match funcs
Optimization #6938: packet: optimize packet data storage
Optimization #6937: compile: make code clean with -Wunused-macros
Optimization #6878: conf: quadratic complexity in yaml loader
Optimization #6873: byte_extract: convert keyword/option parsing to Rust
Optimization #6855: src: var code cleanups
Optimization #6852: mpm/ac: support endswith
Optimization #6821: smtp: add 535 code
Optimization #6795: detect/port: PortGroupWhitelist fn takes a lot of processing time
Optimization #6792: detect/port: port grouping is quite slow in worst cases
Optimization #6786: util-rohash.c : make code cleaner to make CodeQL happier
Optimization #6775: detect: do not run tx detection on tcp non established packets
Optimization #6773: app-layer/template: no limit on txs number
Optimization #6728: detect: prefilter for events (decode, stream, app-layer, etc...)
Optimization #6718: detect/frames: avoid rescanning in IPS mode
Optimization #6702: streaming-buffer: Explore Rank Balanced trees
Optimization #6575: detect/multi-buffer: use single definition of struct PrefilterMpmKrb5Name
Optimization #6569: threading: fix condition signalling w/o taking lock first
Optimization #6454: detect: force os to release memory on rule reload
Optimization #6433: packetpool: improve return sync logic
Optimization #6387: mqtt: move parser registration code to the rust side
Optimization #6111: defrag: avoid passing null pointers to functions
Optimization #5699: dcerpc: switch to incomplete api for tcp
Optimization #5672: smb: avoid unbounded hash maps
Optimization #5634: detect: unify ValidateCallback for MD5-like keywords
Optimization #5566: pgsql: add events
Optimization #5517: decode: big clean up (macros and functions)
Optimization #5311: ftp: use unsigned integer for input_len
Optimization #5047: sip: implement pattern based protocol detection
Optimization #4798: af-packet: default to tpacket-v3 in IDS mode
Optimization #3827: output: clean up logging initialization code
Optimization #3449: eve: output calls fflush very often
Optimization #3427: datasets: issue warning/info for data with type string that are not base64
Optimization #426: threshold: rule based thresholding data structure improvement
Task #7604: lua: turn http into lib
Task #7602: lua: turn dns into lib
Task #7601: lua: turn dnp3 into lib
Task #7492: lua: remove script_api_ver check from needs block
Task #7489: lua: turn flow into lib
Task #7488: lua: turn packet into lib
Task #7456: engine/analysis: report rule state altered by flowbit rule
Task #7426: flowint: add isnotset support
Task #7350: firewall usecase: log app-layer metadata for for catch-all drop rules
Task #7341: rust: use bindgen to generate Rust bindings to C functions
Task #7287: schema: add missing tls fields certificate and chain
Task #7246: libhtp 0.5.49
Task #7227: logging: document and cleanup low level logging registration
Task #7219: rust/crates: update base64
Task #7167: dns: make the version field in a dns object required
Task #7165: napatech: move into bundled plugin
Task #7162: pfring: move into bundled plugin
Task #7154: plugins: add template detection plugin
Task #7152: plugins: add template logger plugin
Task #7151: plugins: add template app-layer plugin
Task #7130: rust: dependency "time" fails to build on Rust nightly
Task #7058: fuzz/base64: check decoded strings for correctness in strict mode
Task #6965: libhtp 0.5.48
Task #6962: yaml: unify 0 stats counter config option terminology
Task #6961: lua: use a rust crate to vendor lua
Task #6935: unittests: convert tests to new FAIL/PASS API - src/app-layer-htp.c
Task #6888: contrib: remove obsolete items from contrib
Task #6818: rust: snmp-parser 0.10.0
Task #6817: rust: kerberos-parser 0.8.0
Task #6769: libhtp 0.5.47
Task #6748: doc: mention X710 RX descriptor limitation
Task #6712: dependencies: completely remove nss
Task #6705: build-info: remove obsolete "rust support" line
Task #6605: flash decompression: update/remove deprecation warnings
Task #6603: pgsql: don't log password msg if password disabled
Task #6586: mpm/ac-bs: remove implementation
Task #6577: pgsql: add cancel request message
Task #6544: logging: deprecate syslog
Task #6543: logging: deprecate http-log
Task #6542: logging: deprecate tls-log
Task #6488: plugins: add example plugins to the suricata source tree
Task #6432: tracking: autofp capture stalls due to packetpool depletion
Task #6427: runmodes: remove reference to auto modes
Task #6360: detect/analyzer: add more details for the icmp_id keyword
Task #6355: detect/analyzer: add more details for the tcp.mss keyword
Task #6354: detect/analyzer: add more details for the tcp ack keyword
Task #6353: detect/analyzer: add more details for the tcp seq keyword
Task #6352: detect/analyzer: add more details for the tcp window keyword
Task #6318: unittests: convert tests to new FAIL/PASS API - detect-engine-address-ipv4.c
Task #6312: detect/analyzer: add more details for the flow.age keyword
Task #6309: detect/analyzer: add more details for the flowbits keyword
Task #6287: suricatasc: rewrite in rust
Task #6209: libhtp 0.5.46
Task #6107: unittests: convert tests to new FAIL/PASS API - util-memcmp.c
Task #6050: base64: make a fuzz target
Task #5626: doc: document file.data
Task #5588: ips/tap: don't allow mixed tap and ips modes
Task #5053: app-layer: dynamic alproto IDs
Task #4742: build: make the auto-generated config.h not conflict with other config.h
Task #4698: lib: Example program to bootstrap Suricata (an alternate main() for Suricata)
Task #4683: detect: remove sigmatch_table in favor of a dynamic storage option
Task #4105: plugins: Create template capture source plugin
Task #4103: plugins: convert an app-layer to use the plugin API (snmp)
Documentation #7540: doc/userguide: fix typo
Documentation #7383: userguide: fix typo
Documentation #7262: doc: remove mentions to suricata-6
Documentation #7260: userguide/config: fix consistency of dashes instead of underscores
Documentation #7153: devguide: document adding a detection plugin
Documentation #7150: devguide: document adding a logging plugin
Documentation #7149: devguide: document adding a app-layer plugin
Documentation #7031: userguide: document SignatureProperties sigtype
Documentation #6911: manpages: use consistant date based on release and/or git commits
Documentation #6908: userguide: document how to verify tar.gz signature
Documentation #6781: http: document duplicate headers concatenation handling
Documentation #6725: document pcap file variables
Documentation #6708: userguide/payload: fix explanation about bsize ranges
Documentation #6686: docs: port userguide build instruction changes from master-6.0.x
Documentation #6685: userguide: explain noalert keyword
Documentation #6629: docs: fix byte_test examples
Documentation #6628: userguide: document generic aspects of integer keywords
Documentation #6599: docs: update eBPF installation instructions
Documentation #6589: docs: fix broken bulleted list style on rtd
Documentation #6570: remove references in docs mentioning prehistoric Suricata versions
Documentation #6568: devguide: document backports policies and process
Documentation #6552: doc: add tcp timeout fix to upgrade guide
Documentation #6548: http2: http.stat_msg - note about HTTP/2 behavior
Documentation #6445: userguide: explain what flow_id is
Documentation #6076: eve/schema: document quic
Documentation #5651: detect/bsize: format should specify operators
Documentation #5494: userguide: update tls eve-log fields 'not_before' and 'not_after'
Documentation #5393: devguide: move github workflow document from redmine into devguide
Documentation #5088: detect/file.name: keyword is not documented
Documentation #4359: docs: elaborate documentation for rule profiling
Documentation #3015: userguide: document "tag" keyword
7.0.2 -- 2023-10-18
Security #6306: mime: quadratic complexity in MimeDecAddEntity
Bug #6402: detect: multi-level tunneling inspection fails
Bug #6397: detect: multiple legacy buffer selection leading to multi-buffer
Bug #6381: DPDK 23.11 changed function name of Bond API
Bug #6380: email: disabled fields in suricata.yaml also get logged
Bug #6303: conf: an empty child node is not checked for NULL
Bug #6300: config: includes provided as a sequence are loaded into the wrong parent configuration node
Bug #6297: configure/docs: check for a supported version of sphinx-build
Bug #6104: detect/multi-buffer: Heap-buffer-overflow in SigMatchAppendSMToList
Bug #6009: dpdk: incorrect final stats
Bug #5831: af-packet/ips: excessive mtu log messages
Bug #5211: detect/frames: crash with detect.profiling.grouping.dump-to-disk
Bug #4624: byte_jump with negative post_offset before start of buffer failure
Feature #6367: SMTP: do not delay mime chunk processing
Feature #5966: dpdk: Analyze hugepage allocation on startup
Feature #4968: QUIC v2 support
Task #6348: detect/analyzer: add more details for the ipopts keyword
Task #6235: decode: add drop reason for stream reassembly memcap
Documentation #6349: userguide: add section about tcp.flags
Documentation #6342: userguide: cover install-full and install-conf in the install page
7.0.1 -- 2023-09-13
Security #6279: Crash in SMTP parser during parsing of email
Security #6195: process exit in hyperscan error handling
Bug #6276: community-id: Fix IPv6 address sorting not respecting byte order
Bug #6256: eve: crash if output dir isn't writeable
Bug #6255: flow: possible divide by zero at start up
Bug #6247: pcre: parsing crash in multi-tenant multi-loader setup
Bug #6244: tcp: RST with data used in reassembly
Bug #6243: Parsing ip-reputation reputation config files now rejects CR and CR+LF
Bug #6240: pcap/file: negative pcap file timestamps lead to weird output
Bug #6233: dpdk: fix overall threads check for IPS mode
Bug #6232: dpdk: treat unknown socket value as a valid value
Bug #6222: Decode-events of IPv6 GRE are not triggered
Bug #6201: multi-tenancy: crash under test mode when tenant signature load fails
Bug #6191: if protocol dcerpc first packet type is Alter_context, it will not parse dcerpc
Bug #6095: windows: lua script path truncated
Bug #6094: eve/stats: memcap_pressure and memcap_pressure_max not logged
Bug #6044: detect: multi-tenancy leaks memory if more than 1 tenant registered
Bug #5870: ips/af-packet: crash when copy-iface is the same as the interface
Bug #5619: dpdk/ips: crash at shutdown with mlx
Bug #5443: ftp-data: failed assertion
Bug #4881: alert event incorrectly log stored files
Optimization #6265: threading: set a higher default stack size for threads
Optimization #6263: mpm/ac: reduce stack usage
Optimization #5920: investigate: check and fix unhandled divisions by 0
Optimization #3637: Performance impact of Cisco Fabricpath
Feature #6267: multi-tenancy: reload-tenants command
Feature #6230: stats: add drop reason counters
Feature #4756: capture: support ips stats for all IPS capture methods
Feature #4587: dhcp: vendor class indentifier support
Documentation #6231: userguide: add installation from Ubuntu PPA section
Documentation #6124: userguide: add instructions/explanation for (not) running suricata with root
7.0.0 -- 2023-07-18
Bug #6212: file.magic: rule reload can lead to crashes
Bug #6211: file: assert failed (!((txd->files_logged > txd->files_opened))), function CloseFile, file output-file.c, line 96.
Bug #6207: util/mime: fuzz failure on base64 remainder parser
Bug #6205: flow/hash: flow by flow_id getter never reaches right flow_id
Bug #6185: smtp: use every byte to compute email.body_md5
Bug #6169: exceptions: master switch not applied to midstream
Bug #6165: http2: fileinfo events log http2 object instead of http object as alerts and http2 do
Bug #6163: http: request_heaser keyword does not support multibuffer
Bug #6149: exceptions: 'auto' policy not considered valid value in IDS mode
Bug #6135: base64: complete support for RFC2045
Bug #6130: http2: quadratic complexity in http2_range_key_get
Bug #6116: dpdk: demote log level of some DPDK messages
Bug #6115: dpdk: NUMA warning signals to non-existent negative id NUMA
Bug #6105: byte_jump does not allow variable name to be used consistently
Bug #6081: pcap: device reopen broken
Bug #6023: smtp: Attachment not being md5 matched
Bug #5964: dpdk: Evaluate input of EAL arguments
Bug #5916: NFQ calls TmqhOutputPacketpool before release packet function is set
Bug #5912: rfb: parser returns error on unimplemented record types
Bug #5868: filestore: not saving files when filestore enabled by rule matching on file_data (instead saves 0 bytes)
Bug #5832: source-xdp: build errors/warnings with libbpf 0.8+
Bug #5757: http: response content encoding value "none" considered invalid
Bug #5464: eve: if alert and drop rules match for a packet, "alert.action" is ambigious
Bug #5022: log-pcap: fix segfault on lz4 compressed pcaps
Bug #4797: pcre2 crash in multi-tenant
Bug #4750: pcap: memory leaks
Bug #2917: Unable to find the sm in any of the sm lists
Optimization #6194: detect: modernize filename fileext filemagic
Optimization #6151: suricatasc: Gracefully handle unsupported commands
Optimization #4145: file keywords: unify keyword registration
Optimization #4141: file.data: inspect File objects for HTTP
Feature #6162: libhtp: recognize Bearer authentication
Feature #6145: byte_math: allow variable name for nbytes
Feature #6144: byte_test: allow variable name for nbytes
Feature #6106: dpdk: fail startup on uninitialized thread affinity setting
Feature #4201: http2: full protocol support
Task #6183: flash decompression: add deprecation warning
Task #6159: libhtp: event on chunk extension
Task #6157: libhtp 0.5.45
Task #6128: af-packet: remove rollover options
Task #4163: rust: set new minimum Rust version for 7
Documentation #6032: detect: document new multi-instance logic
Documentation #5987: doc: update build instructions
Documentation #5930: doc: multi-tenant states that only vlan can be used live, should also include interface
7.0.0-rc2 -- 2023-06-14
Feature #6099: dpdk: add support for bonding interface
Feature #6085: detect: set explicit rule types
Feature #5975: Add support for 'inner' PF_RING clustering modes
Feature #5937: dpdk: Improve DPDK version checking
Feature #5876: eve: add stream tcp logging
Feature #5849: dpdk: add virtio-pmd support
Feature #5822: yaml: set suricata version in generated config
Feature #5803: github-ci: Add netmap as a Github Action
Feature #5784: detect: allow cross buffer inspection on multi-buffer matches
Feature #5746: http.connection - allow in server response
Feature #5717: rfb: add frame support
Security #6129: dcerpc: max-tx config parameter, also for UDP
Security #6118: datasets: absolute path in rules can overwrite arbitrary files
Security #5945: byte_math: Division by zero possible.
Bug #6137: SNMP: version is logged from state, instead of from transaction
Bug #6132: suricata-update: dump-sample-configs: configuration files not found
Bug #6120: streaming-buffer: exceeds limit when downloading large file with file-store enabled
Bug #6117: tcp regions streaming buffer: assert failed (!((region->stream_offset == sbb->offset && region->buf_offset > sbb->len))), function StreamingBufferSBBGetData
Bug #6109: exception/policy: reject changes flow action in IDS mode
Bug #6103: http2: cpu overconsumption in rust moving/memcpy in http2_parse_headers_blocks
Bug #6093: flow: occasional sudden spike in flow.memuse
Bug #6089: suricata --list-keywords does not work with debug validation
Bug #6087: FTP bounce detection doesn't work for big-endian platforms
Bug #6086: Decode-events of IPv6 packets are not triggered
Bug #6066: Memory Corruption in util-streaming-buffer
Bug #6064: dpdk: detect reload stuck if there are no packets
Bug #6062: flow: memory leaks at shutdown
Bug #6060: IP Datasets not supported from suricata.yaml
Bug #6057: rust/jsonbuilder: better handling of memory allocation errors
Bug #6054: ftp: long line discard logic should be separate for server and client
Bug #6053: smtp: long line discard logic should be separate for server and client
Bug #6046: runmode/unix-socket: http range memory leak
Bug #6043: detect: multi-tenancy fails to start
Bug #6041: ASSERT: !(sb->region.buf_offset != 0)
Bug #6038: TCP resets have incorrect len, nh in IPv6
Bug #6025: detect: allow bsize 0 for existing empty buffers
Bug #6021: af-packet: reload not occurring until packets are seen
Bug #6019: smtp: fuzz debug assertion trigger
Bug #6008: smb: wrong offset when parse SMB_COM_WRITE_ANDX record
Bug #6006: dpdk: query eth stats only by the first worker
Bug #5998: exception/policy: make work with simulated flow memcap
Bug #5989: smtp: any command post a long command gets skipped
Bug #5981: smtp: Long DATA line post boundary is capped at 4k Bytes
Bug #5979: rust: update sawp dependencies to avoid future compile issues
Bug #5978: stream/reassembly: memcap exception policy incorrectly applied
Bug #5971: libhtp: differential fuzzing with rust version: only trim spaces at headers names end
Bug #5969: detect: reload can stall if flow housekeeping takes too long
Bug #5968: flowworker: per packet flow housekeeping can process too many flows
Bug #5963: dpdk: handle packets splitted in multiple segments
Bug #5960: Postpone setting of master exception policy
Bug #5957: bpf: postpone IPS check after IPS runmode is determined from the configuration file
Bug #5952: http: multipart data is not filled up to request.body-limit
Bug #5940: exception/policy: flow action doesn't fall back to packet action when there's no flow
Bug #5936: dpdk: Release mempool only after the device closes
Bug #5931: http2: urilen not supported
Bug #5929: fast_pattern assignment of specific content in combination with urilen results in FN
Bug #5927: smtp: quadratic complexity for tx iterator with linked list
Bug #5925: dpdk: VMXNET3 fails to configure
Bug #5924: AF_XDP compile error
Bug #5923: dpdk: change in NUMA-determining API
Bug #5919: flow/manager: fix unhandled division by 0 (prealloc: 0)
Bug #5917: http: libhtp errors on multiple 100 continue response
Bug #5909: http2: quadratic complexity when reducing dynamic headers table size
Bug #5907: tcp: failed assertion ASSERT: !(ssn->state != TCP_SYN_SENT)
Bug #5905: invalid bsize and distance rule being loaded by suricata
Bug #5900: UBSAN: undefined shift in DetectByteMathDoMatch
Bug #5885: base64_decode not populating up to an invalid character
Bug #5883: mime: debug assertion on fuzz input
Bug #5881: stream: overlap with different data false positive
Bug #5877: stream: connections time out too early
Bug #5875: stream/ips: dropping spurious retransmissions times out connections
Bug #5867: false-positive drop event_types possible on passed packets
Bug #5866: detect: multi-tenancy crash
Bug #5862: netmap: packet stalls
Bug #5856: stream: SYN/ACK timestamp checking blocks valid traffic
Bug #5855: af-xdp: may fail to build on Linux systems with kernel older than 5.11
Bug #5850: frames: Assertion failed: buffer initialized
Bug #5843: tcp/stream: session reuse on tcp flows w/o sessions
Bug #5836: output: abort triggered on no permission test
Bug #5835: debug: segv on enabling debugging output
Bug #5834: tcp/regions: list corruption
Bug #5833: tcp/regions: use after free error
Bug #5825: stream.midstream: if enabled breaks exception policy
Bug #5823: smtp: config and built-in defaults mismatch
Bug #5819: SMTP does not handle LF post line limit properly
Bug #5818: time: integer comparison with different signs
Bug #5808: http2: leak with range files
Bug #5802: ips: txs still logged for dropped flow
Bug #5799: detect: sigs using DETECT_SM_LIST_PMATCH can break other signatures
Bug #5786: smb: possible evasion with trailing nbss data
Bug #5783: smb: wrong endian conversion when parse NTLM Negotiate Flags
Bug #5780: HTTP/2 - FN when matching on multiple http2.header contents
Bug #5770: smb: no consistency check between NBSS length and length field for some SMB operations
Bug #5740: content: within and distance lengths should be bounded
Bug #5667: Enable rule profiling via socket
Bug #5627: windows: windivert build broken
Bug #5621: security.limit-noproc: disabled if not provided in the configuration file
Bug #5563: stream: issue with stream debug tracking of memuse
Bug #5541: Unexpected behavior of `endswith` in combination with negated content matches
Bug #5526: tcp: Assertion failed: (!((last_ack_abs < left_edge && StreamTcpInlineMode() == 0 && !f->ffr && ssn->state < TCP_CLOSED)))
Bug #5498: flowworker: Assertion in CheckWorkQueue
Bug #5437: 'unseen' http midstream packets with TCP FIN flag set
Bug #5320: Key collisions in HTTP JSON eve-logs
Bug #5270: Flow hash table collision and flow state corruption between different capture interfaces
Bug #5261: rust: reconsider bundling Cargo.lock
Bug #5017: counters: tcp.syn, tcp.synack, tcp.rst depend on flow
Bug #4952: scan-build: Access to field 'de_state' results in a dereference of a null pointer
Bug #4759: TCP DNS query not found when tls filter is active
Bug #4578: perf shows excessive time in IPOnlyMatchPacket
Bug #4529: Not keyword matches in Kerberos requests
Bug #3152: scan-build warning for detect sigordering
Bug #3151: scan-build warning for detect port handling
Bug #3150: scan-build warnings for detect address handling
Bug #3149: scan-build warnings in radix implementation
Bug #3148: scan-build warnings for ac implementations
Bug #3147: scan-build warning for mime decoder
Optimization #6100: mqtt: quadratic complexity in get_tx_by_pkt_id
Optimization #6036: pgsql: remove unused Kerb5 auth message
Optimization #5959: detect using uninitialized engine mode
Optimization #5718: time: compact alternative to struct timeval
Optimization #5544: tls keywords: increase code coverage and update documentation (if need be)
Optimization #4378: file.data: split mpm per app_proto
Task #5993: rust: x509-parser 0.15
Task #5992: rust: snmp-parser 0.9.0
Task #5991: rust: der-parser 8.2.0
Task #5983: libhtp 0.5.44
Task #5965: tracking: Improving DPDK capture interface and docs
Task #5939: config: deprecate multiple "include" statements at the same level
Task #5918: libhtp 0.5.43
Task #5741: rust/src/rfb/* add more unittests
Task #5628: github-ci: add windows + windivert build
Task #5474: test: review how 7 works with config from 5 and 6
Task #4067: http2: overload existing http keywords to support http/2
Task #4051: Convert unittests to new FAIL/PASS API: detect-lua.c
Documentation #5962: documentation: mention the use of http1 in rule protocol
Documentation #5884: docs: update CentOS names according to their new conventions
Documentation #5859: docs: add build instructions for DPDK capture interface
Documentation #5858: docs: add list of supported NICs in DPDK mode
Documentation #5857: docs: refactor DPDK documentation
Documentation #5596: doc/optimization: move 'suricata.git/doc/userguide/convert.py' to Python3
7.0.0-rc1 -- 2023-01-31
Feature #5761: Unknown ethertype packets are not counted
Feature #5516: tls: client cert detection
Feature #5384: Thread Synchronisation: wait for all threads to be in an operating state before continuing initialisation
Feature #5383: Support for IP addresses in dataset
Feature #5219: ips: add 'master switch' to enable dropping on traffic (handling) exceptions
Feature #5184: Add more dataset user interaction
Feature #4981: frames: add general <app_proto>.stream frames
Feature #4979: frames: implement dynamic logic to disable frames of a type
Feature #4751: dns/eve: add 'HTTPS' type logging
Feature #4269: Additional dataset operations
Feature #3306: Support AF_XDP capture method
Feature #3086: app_proto for Torrent traffic
Feature #2497: error messages usability improvement
Security #5712: tcp: crafted packets lead to resource starvation
Security #5703: smb: crash inside of streaming buffer Grow()
Security #5701: Suricata crashes while processing FTP
Security #5700: SCRealloc of large chunk crashes Suricata
Security #5686: decoder/tunnel: tunnel depth not limited properly
Security #5623: smtp/base64: crash / memory corruption
Bug #5817: tls: certificates with dates prior to 1970 are not logged correctly
Bug #5814: smb: duplicate interface fields logged
Bug #5813: rfb/eve: depth in pixel format logged twice
Bug #5811: smb: tx logs sometimes have duplicate `tree_id` output
Bug #5781: smb: unbounded file chunk queuing after gap
Bug #5779: dcerpc: max-tx config parameter
Bug #5769: Incomplete values for .stats."app_layer".flow.proto
Bug #5765: exceptions: midstream flows are dropped if midstream=true && stream.midstream-policy=drop-flow
Bug #5753: smb: convert transaction list to vecdeque
Bug #5747: iprep/ipv6: warning issued on valid reputation input
Bug #5725: smtp: quoted-printable encoding skips empty lines in files
Bug #5707: quic: ja3 Stack-use-after-return READ 1
Bug #5706: app-layer-htp: Condition depending on enabled IPS mode never true
Bug #5693: decode: Padded packet to minimal Ethernet length marked with invalid length event
Bug #5691: HTTP/2 decompression bug
Bug #5663: tls: buffer overhead off by one in TLSDecodeHSHelloExtensionSupportedVersions
Bug #5661: security.limit-noproc: break ASAN/LSAN when non-root user
Bug #5658: SMTP: segfault on boundary data
Bug #5654: readthedocs: not showing pdf download option for recent versions
Bug #5644: Integer overflow at dcerpc.rs:846
Bug #5637: quic: convert to vecdeque
Bug #5624: quic: rule with ja3.hash keyword fails to load