You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suricata/rust
Philippe Antoine bf64b52b95 http2: better compression against decompression bombs
Ticket: 8513

Suricata decides at 2 levels if a http2 flow is doing a compression
bomb.

There is a direct computation when one chunk of TCP data
is being parsed.
In this case, do not take the ratio into account, just use the size
of the decompressed data, so that if we get a big chunk of TCP data
like 1 MiB, and a not so high ratio of 200, we do not trigger
the debug assertion in util-file.c about 64MiB

The other case stays unchanged : when accumulating over the lifetile of
a flow with multiple txs, take into account the compression ratio,
so that a flow of many txs, having a super high (brotli) compression
ratio, ends up classified as a compression bomb.
(For example, having 100 txs each turning a 100 byte input into a 700 KiB
one)
4 months ago
..
.cargo rust: rename .cargo/config to .cargo/config.toml 2 years ago
derive rust/ffi: move AppLayerEvent to ffi 4 months ago
ffi rust/ffi: add flow lifecycle callback wrappers 4 months ago
htp rust/htp: formatting fixup 8 months ago
src http2: better compression against decompression bombs 4 months ago
suricatactl rust: limit clap verson to 4.5.57 6 months ago
suricatasc rust: pin unicode-segmentation crate to 1.12.0 6 months ago
sys detect/engine: helper to know if a transform happens in-place 4 months ago
.gitignore rust: rename .cargo/config to .cargo/config.toml 2 years ago
Cargo.lock.in psl: update to 2.1.206 4 months ago
Cargo.toml.in rust/debug: use functions from ffi crate where possible 7 months ago
Makefile.am rust: bindgen SIGMATCH_ constants 5 months ago
cbindgen.toml rust: remove obsolete const exclusions in cbindgen 4 months ago
rustfmt.toml rustfmt: replace deprecated fn_args_layout with fn_params_layout 3 years ago