mirror of https://github.com/OISF/suricata
cybersecurityidsintrusion-detection-systemintrusion-prevention-systemipsnetwork-monitornetwork-monitoringnsmsecuritysuricatathreat-hunting
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.
It violates thread safety. #601. Suricata assures thread safety on the flow level for HTTP tracking. Part of the flow is (in case of HTTP) libhtp's htp_connp_t state. At startup the libhtp glue layer, app-layer-htp initializes as many htp_cfg_t instances as there are libhtp server configurations in the yaml. At HTTP session start, we look up the proper htp_cfg_t based on the server ip and pass it to htp_connp_create. A ptr to the relevant htp_cfg_t is part of the htp_connp_t. The htp_cfg_t contains "hooks". The are registered based on yaml config at init time. The hooks have lists of type list_t. The list is run with a built in iterator. The iterator is reset at the start of each "hook_run_all". Since multiple flows share the same htp_cfg_t flow A can reset the iterator while flow B is using it. The flow lock has no effect as flows share the htp_cfg_t. This has been observed in real traffic. hook_response_body_data was run on the same data multiple times, leading to corrupt extracted files. |
14 years ago | |
|---|---|---|
| benches | 17 years ago | |
| contrib/file_processor | 15 years ago | |
| doc | 14 years ago | |
| libhtp | 14 years ago | |
| m4 | 17 years ago | |
| qa | 14 years ago | |
| rules | 14 years ago | |
| src | 14 years ago | |
| .gitignore | 16 years ago | |
| COPYING | 17 years ago | |
| ChangeLog | 14 years ago | |
| LICENSE | 17 years ago | |
| Makefile.am | 14 years ago | |
| Makefile.cvs | 17 years ago | |
| acsite.m4 | 17 years ago | |
| autogen.sh | 14 years ago | |
| classification.config | 17 years ago | |
| configure.ac | 14 years ago | |
| doxygen.cfg | 14 years ago | |
| mkinstalldirs | 17 years ago | |
| reference.config | 15 years ago | |
| suricata.yaml.in | 14 years ago | |
| threshold.config | 14 years ago | |