CVE-2023-35852
📋 TL;DR
This vulnerability allows an attacker who controls external Suricata rules to perform directory traversal attacks, potentially writing arbitrary files to the local filesystem. It affects Suricata installations using external rule sources where an adversary can manipulate dataset filenames. The issue is mitigated by requiring explicit configuration flags for absolute filenames and write operations.
💻 Affected Systems
- Suricata
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Arbitrary file write leading to remote code execution, system compromise, or data exfiltration
Likely Case
Unauthorized file writes to sensitive directories, potentially disrupting Suricata operation or creating backdoors
If Mitigated
No impact if proper configuration restrictions are in place
🎯 Exploit Status
Requires control over external rule source and specific configuration conditions
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 6.0.13
Vendor Advisory: https://github.com/OISF/suricata/commit/735f5aa9ca3b28cfacc7a443f93a44387fbacf17
Restart Required: Yes
Instructions:
1. Backup current configuration. 2. Update Suricata to version 6.0.13 or later. 3. Review and update datasets configuration if using absolute filenames or write operations. 4. Restart Suricata service.
🔧 Temporary Workarounds
Restrict dataset configuration
allDisable allow-absolute-filenames and allow-write in datasets configuration
Edit suricata.yaml: set datasets.allow-absolute-filenames: false and datasets.allow-write: false
Restrict external rule sources
allOnly use trusted, controlled rule sources
Review rule-files configuration in suricata.yaml and remove untrusted sources
🧯 If You Can't Patch
- Implement strict access controls on external rule sources
- Monitor for unauthorized file writes in Suricata working directories
🔍 How to Verify
Check if Vulnerable:
Check Suricata version and configuration: suricata --build-info | grep version and review suricata.yaml for datasets configuration
Check Version:
suricata --build-info | grep version
Verify Fix Applied:
Confirm version is 6.0.13 or later and verify datasets.allow-absolute-filenames and datasets.allow-write are properly configured
📡 Detection & Monitoring
Log Indicators:
- Unexpected file write operations in Suricata logs
- Dataset-related errors or warnings
Network Indicators:
- Unusual traffic to/from rule update sources
SIEM Query:
suricata AND (dataset OR "absolute filename" OR directory traversal)
🔗 References
- https://github.com/OISF/suricata/commit/735f5aa9ca3b28cfacc7a443f93a44387fbacf17
- https://github.com/OISF/suricata/commit/aee1523b4591430ebed1ded0bb95508e6717a335
- https://github.com/OISF/suricata/compare/suricata-6.0.12...suricata-6.0.13
- https://www.stamus-networks.com/stamus-labs
- https://github.com/OISF/suricata/commit/735f5aa9ca3b28cfacc7a443f93a44387fbacf17
- https://github.com/OISF/suricata/commit/aee1523b4591430ebed1ded0bb95508e6717a335
- https://github.com/OISF/suricata/compare/suricata-6.0.12...suricata-6.0.13
- https://lists.debian.org/debian-lts-announce/2025/03/msg00029.html
- https://www.stamus-networks.com/stamus-labs