CVE details
CVE-2026-46433
lldpd is an implementation of IEEE 802.1ab (LLDP). Prior to version 1.0.22, lldpd_decode() in src/daemon/lldpd.c strips 802.1Q VLAN tags from received Ethernet frames by calling memmove() to shift the frame payload 4 bytes left. The third argument (byte count) is s - 2 * ETHER_ADDR_LEN but should be s - 2 * ETHER_ADDR_LEN - 4, causing a 4-byte heap buffer over-read past the malloc(h_mtu) allocation when the received frame size equals the interface MTU. This issue has been patched in version 1.0.22.
Affected ports (2)
| Port | Package | Version | Status | Maintainer |
|---|---|---|---|---|
| net-mgmt/lldpd | lldpd | 1.0.21 | unaddressed | freebsd@simweb.ch |
| net-mgmt/lldpd | lldpd-tiny | 1.0.21 | unaddressed | freebsd@simweb.ch |
Template for a VuXML entry
Range taken from the CVE record, check it before committing. make newentry in security/vuxml creates the vid.
<vuln vid="FIXME (make newentry)">
<topic>FIXME -- FIXME</topic>
<affects>
<package>
<name>lldpd</name>
<range><lt>1.0.22</lt></range>
</package>
<package>
<name>lldpd-tiny</name>
<range><lt>1.0.22</lt></range>
</package>
</affects>
<description>
<body xmlns="http://www.w3.org/1999/xhtml">
<p>lldpd is an implementation of IEEE 802.1ab (LLDP). Prior to version
1.0.22, lldpd_decode() in src/daemon/lldpd.c strips 802.1Q VLAN tags
from received Ethernet frames by calling memmove() to shift the frame
payload 4 bytes left. The third argument (byte count) is s - 2 *
ETHER_ADDR_LEN but should be s - 2 * ETHER_ADDR_LEN - 4, causing a
4-byte heap buffer over-read past the malloc(h_mtu) allocation when
the received frame size equals the interface MTU. This issue has been
patched in version 1.0.22.</p>
</body>
</description>
<references>
<cvename>CVE-2026-46433</cvename>
<url>https://nvd.nist.gov/vuln/detail/CVE-2026-46433</url>
</references>
<dates>
<discovery>2026-06-09</discovery>
<entry>2026-10-25</entry>
</dates>
</vuln>