In Suricata before 6.0.13 (when there is an adversary who controls an external source of rules), a dataset filename, that comes from a rule, may trigger absolute or relative directory traversal, and lead to write access to a local filesystem. This is addressed in 6.0.13 by requiring allow-absolute-filenames and allow-write (in the datasets rules configuration section) if an installation requires traversal/writing in this situation.
[
{
"id": "CVE-2023-35852-3122e1c3",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "src/util-path.h"
},
"digest": {
"line_hashes": [
"91333645308053670368847096290587367607",
"143631006118128134772191325553239776243"
],
"threshold": 0.9
},
"source": "https://github.com/oisf/suricata/commit/aee1523b4591430ebed1ded0bb95508e6717a335"
},
{
"id": "CVE-2023-35852-4a10b4c6",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Function",
"target": {
"file": "src/detect-dataset.c",
"function": "SetupSavePath"
},
"digest": {
"function_hash": "232504511668407682734497967485675524051",
"length": 392.0
},
"source": "https://github.com/oisf/suricata/commit/aee1523b4591430ebed1ded0bb95508e6717a335"
},
{
"id": "CVE-2023-35852-af8dbdd3",
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"target": {
"file": "src/detect-dataset.c"
},
"digest": {
"line_hashes": [
"96951223880122559125563562755350548834",
"46242836851346384173233262018738423764",
"107398881970566090360551169625629666050",
"144748704519576399632295292518218480910",
"319055725507430203323111239742250211794"
],
"threshold": 0.9
},
"source": "https://github.com/oisf/suricata/commit/aee1523b4591430ebed1ded0bb95508e6717a335"
}
]