CVE-2026-110912

ARP Packet Validation Flaw Causes Kernel Memory Disclosure in DragonFly BSD

Published Oct 15, 2026 CVSS 4.0 · 7.1 High EPSS < 1% KEV · Not listed
Description
In DragonFly BSD through 6.4.2 before 4bb22ff, the ARP input handlers arpintr() and in_arpinput() (sys/netinet/if_ether.c) do not validate the hardware address length (ar_hln) and protocol address length (ar_pln) fields of incoming ARP packets. in_arpreply() then uses these attacker-controlled values as memcpy lengths when copying from kernel buffers that are only 6 and 4 bytes long, resulting in an out-of-bounds read of kernel heap and stack memory that is copied into the ARP reply sent back to the requester. An unauthenticated attacker on the adjacent network can use a single crafted ARP request to disclose up to roughly 250 bytes of each type of kernel memory, including kernel pointers. This is expected to be fixed in the 6.6 stable release when that is available.

Remediation

Vendor Solution

Update to DragonFly BSD 6.6 once released (the maintainers have confirmed the fix will be included), or apply commit 4bb22ffcf2e9fb44995fbfd9945194afc87fb182 from master, which rejects ARP packets whose ar_hln is not ETHER_ADDR_LEN in arpintr() and whose ar_pln is not sizeof(struct in_addr) in in_arpinput().

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title ARP Packet Validation Flaw Causes Kernel Memory Disclosure in DragonFly BSD
Type Values Removed Values Added
CPEs cpe:2.3:a:dragonflybsd:dragonflybsd:*:*:*:*:*:*:*:* cpe:2.3:o:dragonflybsd:dragonflybsd:*:*:*:*:*:*:*:*
Type Values Removed Values Added
Description In DragonFly BSD through 6.4.2 before 4bb22ff, the ARP input handlers arpintr() and in_arpinput() (sys/netinet/if_ether.c) do not validate the hardware address length (ar_hln) and protocol address length (ar_pln) fields of incoming ARP packets. in_arpreply() then uses these attacker-controlled values as memcpy lengths when copying from kernel buffers that are only 6 and 4 bytes long, resulting in an out-of-bounds read of kernel heap and stack memory that is copied into the ARP reply sent back to the requester. An unauthenticated attacker on the adjacent network can use a single crafted ARP request to disclose up to roughly 250 bytes of each type of kernel memory, including kernel pointers. This is expected to be fixed in the 6.6 stable release when that is available.
First Time appeared Dragonflybsd
Dragonflybsd dragonflybsd
Weaknesses CWE-130
CPEs cpe:2.3:a:dragonflybsd:dragonflybsd:*:*:*:*:*:*:*:*
Vendors & Products Dragonflybsd
Dragonflybsd dragonflybsd
References
Metrics cvssV4_0

{'score': 7.1, 'vector': 'CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Oct 16, 2026, 3:02 AM
Reserved
Oct 15, 2026, 3:23 AM
Status
Deferred
Published
Oct 15, 2026, 4:18 AM
Modified
Oct 16, 2026, 3:19 PM