CVE-2026-110912 PUBLISHED

Assigner: mitre
Reserved: 15.10.2026 Published: 15.10.2026 Updated: 15.10.2026

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.

Metrics

CVSS 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
CVSS Score: 7.1

Product Status

Vendor DragonFlyBSD
Product DragonFlyBSD
Versions Default: unaffected
  • affected from 984263bcb83ad82313113c6ac840d99124d8f90c to 4bb22ffcf2e9fb44995fbfd9945194afc87fb182 (excl.)

Solutions

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().

References

Problem Types

  • CWE-130 Improper Handling of Length Parameter Inconsistency CWE