CVE-2023-4809
📋 TL;DR
This CVE allows IPv6 packets with multiple fragment headers to bypass pf firewall rules by being incorrectly reassembled and processed. Systems using pf packet filtering with IPv6 fragment reassembly enabled are affected, potentially allowing unauthorized network traffic.
💻 Affected Systems
- pf (packet filter)
- FreeBSD
- NetApp products using affected pf versions
📦 What is this software?
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
Freebsd by Freebsd
⚠️ Risk & Real-World Impact
Worst Case
Attackers could bypass firewall rules entirely, allowing malicious traffic to reach protected systems, potentially leading to network intrusion or data exfiltration.
Likely Case
IPv6 fragments bypass firewall filtering rules, allowing unauthorized network communication that should have been blocked.
If Mitigated
With proper network segmentation and additional security controls, the impact is limited to potential firewall rule bypass within the affected segment.
🎯 Exploit Status
Exploitation requires sending specially crafted IPv6 packets with multiple fragment headers to bypass firewall rules.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: FreeBSD security advisory FreeBSD-SA-23:10.pf provides fixes
Vendor Advisory: https://security.FreeBSD.org/advisories/FreeBSD-SA-23:10.pf.asc
Restart Required: Yes
Instructions:
1. Apply the FreeBSD security patch from the advisory. 2. Update pf configuration if needed. 3. Restart affected services or reboot the system.
🔧 Temporary Workarounds
Disable IPv6 fragment reassembly
allRemove or disable 'scrub fragment reassemble' rules for IPv6 traffic
Edit pf.conf to remove or comment out 'scrub fragment reassemble' rules for IPv6
Disable IPv6 entirely
allIf IPv6 is not required, disable it completely
sysctl net.inet6.ip6.forwarding=0
Disable IPv6 in network interfaces
🧯 If You Can't Patch
- Implement network segmentation to limit potential impact
- Use additional firewall layers or intrusion detection systems to monitor for bypass attempts
🔍 How to Verify
Check if Vulnerable:
Check pf.conf for 'scrub fragment reassemble' rules and verify if IPv6 is enabled on the system
Check Version:
uname -a (for FreeBSD) or check pf version
Verify Fix Applied:
Verify the system has been updated to a patched version and test with IPv6 fragment traffic
📡 Detection & Monitoring
Log Indicators:
- Unusual IPv6 fragment traffic patterns
- Firewall rule bypass events in pf logs
Network Indicators:
- IPv6 packets with multiple fragment headers
- Traffic that should be blocked by firewall rules
SIEM Query:
source="pf.log" ("IPv6 fragment" OR "scrub") AND ("bypass" OR "unexpected")
🔗 References
- http://www.openwall.com/lists/oss-security/2023/09/08/5
- http://www.openwall.com/lists/oss-security/2023/09/08/6
- http://www.openwall.com/lists/oss-security/2023/09/08/7
- https://security.FreeBSD.org/advisories/FreeBSD-SA-23:10.pf.asc
- https://security.netapp.com/advisory/ntap-20231221-0009/
- http://www.openwall.com/lists/oss-security/2023/09/08/5
- http://www.openwall.com/lists/oss-security/2023/09/08/6
- http://www.openwall.com/lists/oss-security/2023/09/08/7
- https://security.FreeBSD.org/advisories/FreeBSD-SA-23:10.pf.asc
- https://security.netapp.com/advisory/ntap-20231221-0009/