Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft pf ruleset with duplicate address ranges
-
ExploitHash calculation regression silently drops rules
-
ExecutionFirst rule loads, duplicates ignored
-
ImpactAttacker traffic bypasses unloaded filtering rules
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Use of incorrect operator
|
| Exploitation Conditions | OpenBSD pf firewall with rules using address range syntax (x.x.x.x - y.y.y.y) where multiple rules differ only in ranges. Attacker must craft network traffic to match ranges intended by dropped duplicate rules. No authentication required; remote network access sufficient. |
| Impact | This vulnerability presents moderate real-world risk despite the absence of a CVSS score. The technical impact is high-silent rule suppression can cause significant firewall policy violations, with potential for both over-blocking (legitimate traffic denied) and underblocking (malicious traffic allowed). However, the attack surface is administrative/configuration-based rather than remotely exploitable; an attacker cannot directly trigger the vulnerability but relies on administrators deploying vulnerable pf configurations. Exploitation requires no authentication or network access; it is purely a logic flaw in rule processing. The SSVC decision framework suggests this warrants urgent attention: technical impact is high (integrity of packet filtering), the mechanism is deterministic and reliable (high confidence in triggering), but exploitability depends on configuration choices. Organizations using pf with address range syntax rules are at direct risk; those using only CIDR notation are unaffected. The regression status (this is a reintroduced bug, not a new design flaw) suggests it may be relatively recent and could be widespread in affected FreeBSD versions. |
| Exploit ScenarioDerived | A FreeBSD system administrator configures a pf firewall with multiple rules using address ranges to block traffic from different subnets: 'block in quick from 192.168.1.1 - 192.168.1.100' and 'block in quick from 192.168.1.100 - 192.168.1.200'. Due to the hash regression, the second rule is silently dropped as a duplicate. An attacker spoofing addresses in the range 192.168.1.100 - 192.168.1.200 successfully penetrates the firewall because only the first rule is active, causing unexpected underblocking. Alternatively, an administrator intends to allow specific traffic via a rule with ranges that gets dropped, resulting in legitimate users being denied access (overblocking). The attack is passive; the regression is triggered automatically during pf ruleset loading, requiring no active exploitation technique. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 01, 2026
Packet filter (pf) rule hash calculation regression in FreeBSD causes rules with address range syntax (x.x.x.x - y.y.y.y) differing only in address ranges to be silently dropped as duplicates, loading only the first rule and potentially causing unexpected packet filtering behavior including unintended blocking or allowing of traffic. The regression affects pf's duplicate detection mechanism but does not impact rules using CIDR notation (address/mask-bits syntax). Only the first of multiple such rules is loaded, creating a silent configuration failure with no warning to administrators.
RemediationAI
Apply the patch provided in FreeBSD Security Advisory FreeBSD-SA-26:09.pf via the FreeBSD Update utility (freebsd-update fetch install) or by rebuilding the kernel with the patched pf code. Immediately following patch installation, reload pf rules using 'pfctl -f /etc/pf.conf' and verify that the expected number of rules are loaded (compare 'pfctl -s rules' output against configuration intent). As a temporary mitigation pending patch deployment, convert any address range rules (x.x.x.x - y.y.y.y syntax) to equivalent CIDR notation (address/mask-bits), which are unaffected by the regression, or explicitly verify all intended rules are active via 'pfctl -s rules'. Audit pf configurations for unintentional redundancy in action keywords ('log', 'return ttl', 'dnpipe') which may also be affected.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This vulnerability affects FreeBSD's packet filter (pf), a stateful firewall implementation that uses rule hashing to detect and eliminate duplicate configurations. The regression occurred in the hash calculation function that processes pf ruleset definitions. CWE-480 (Use of Incorrect Operator) indicates that an incorrect comparison or mathematical operation was introduced during recent changes, causing rules with semantically different address ranges (e.g., '192.168.1.1 - 192.168.1.100' vs '192.168.1.100 - 192.168.1.200') to produce identical hash values. This collision mechanism causes the duplicate detection logic to incorrectly classify distinct rules as identical. The impact is confined to rules using the range syntax; CIDR notation rules (address/mask-bits) hash correctly and are unaffected, suggesting the regression is specific to how the range operator parses or hashes the start and end addresses.
Know when Freebsd gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
DescriptionCVE.org
A regression in the way hashes were calculated caused rules containing the address range syntax (x.x.x.x - y.y.y.y) that only differ in the address range(s) involved to be silently dropped as duplicates. Only the first of such rules is actually loaded into pf. Ranges expressed using the address[/mask-bits] syntax were not affected.
Some keywords representing actions taken on a packet-matching rule, such as 'log', 'return tll', or 'dnpipe', may suffer from the same issue. It is unlikely that users have such configurations, as these rules would always be redundant.
Affected rules are silently ignored, which can lead to unexpected behaviour including over- and underblocking.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Related Vulnerabilities in SourceCodester Simple Laundry System XSS
View all 4The x86-64 kernel system-call functionality in Xen 4.1.2 and earlier, as used in Citrix XenServer 6.0.2 and earlier and
The rtsol(8) and rtsold(8) programs do not validate the domain search list options provided in router advertisement mess
Server or client applications that call the SSL_check_chain() function during or after a TLS 1.3 handshake may crash due
The RFC 5011 implementation in rdata.c in ISC BIND 9.7.x and 9.8.x before 9.8.5-P2, 9.8.6b1, 9.9.x before 9.9.3-P2, and
Remote code execution in OpenSSH's sshd server (regression of CVE-2006-5051) allows unauthenticated remote attackers to
An issue was discovered in OpenSSH 7.9. Rated medium severity (CVSS 5.9), this vulnerability is remotely exploitable, no
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
The vm_map_lookup function in sys/vm/vm_map.c in the mmap implementation in the kernel in FreeBSD 9.0 through 9.1-RELEAS
An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. Rated med
Integer overflow in the _gd2GetHeader function in gd_gd2.c in the GD Graphics Library (aka libgd) before 2.2.3, as used
The Stream Control Transmission Protocol (SCTP) module in FreeBSD 9.3 before p33, 10.1 before p26, and 10.2 before p9, w
In FreeBSD 12.1-STABLE before r359565, 12.1-RELEASE before p7, 11.4-STABLE before r362975, 11.4-RELEASE before p1, and 1
EUVD-2026-17818
GHSA-2v62-qxwf-qh42
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB