CVE-2026-19673
Last modified
CVE-2026-19673 is a high-severity vulnerability rated 7.1/10 on the CVSS scale. ethernet_recv() in subsys/net/l2/ethernet/ethernet.c validates only that the first net_buf of a received frame holds a plain 14-byte struct net_eth_hdr. When the ethertype is 0x8100 and VLAN is enabled on the interface, the same buffer is reinterpreted as the 18-byte struct net_eth_vlan_hdr without re-checking the length: the VLAN TCI and the inner ethertype are read from offsets 14..17, past pkt->buffer->len, and hdr_len is raised to 18 so the subsequent net_buf_pull() removes more bytes than the buffer holds. A single unauthenticated frame of 14 to 17 bytes carrying the VLAN ethertype triggers this. EPSS estimates a 0.34% chance of exploitation in the next 30 days.
Description
ethernet_recv() in subsys/net/l2/ethernet/ethernet.c validates only that the first net_buf of a received frame holds a plain 14-byte struct net_eth_hdr. When the ethertype is 0x8100 and VLAN is enabled on the interface, the same buffer is reinterpreted as the 18-byte struct net_eth_vlan_hdr without re-checking the length: the VLAN TCI and the inner ethertype are read from offsets 14..17, past pkt->buffer->len, and hdr_len is raised to 18 so the subsequent net_buf_pull() removes more bytes than the buffer holds. A single unauthenticated frame of 14 to 17 bytes carrying the VLAN ethertype triggers this. No knowledge of the node's VLAN configuration is needed: net_eth_get_vlan_iface() returns the base interface for the priority tag 0, and a broadcast destination address satisfies the "frame is for me" test, so a 16-byte broadcast frame with ethertype 0x8100 and TCI 0x0000 reaches the pull. Nothing in the receive path enforces the 60-byte Ethernet minimum — the USB CDC ECM and CDC NCM gadget classes in particular hand host-supplied frames of any non-zero length straight to net_recv_data(). With assertions enabled, net_buf_simple_pull() asserts and the node panics. In a production build (assertions and CONFIG_NET_BUF_HARDENING off) the uint16_t buffer length underflows to 65534 and buf->data is advanced past the end of the fragment's storage, so every later parser reads far outside the buffer and any net_buf_add() on that fragment computes tailroom from the underflowed length. The result is a reliable remote denial of service and out-of-bounds access with information-disclosure and corruption potential. Only configurations built with CONFIG_NET_VLAN=y that have a VLAN enabled on the receiving Ethernet interface, and whose MAC does not strip VLAN tags in hardware (ETHERNET_HW_VLAN_TAG_STRIP), are affected. The fix rejects the frame before the tag is read, so hdr_len is thereafter either 14 or 18 with both sizes validated against pkt->buffer->len.
Metrics
Weakness Enumeration
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| zephyrproject | zephyr | >= 1.12.0, < 4.5.0 |
References
Timeline
- Published
- Last Modified
- Status
- Awaiting Analysis
Frequently Asked Questions
What is CVE-2026-19673?
How severe is CVE-2026-19673?
How do I fix CVE-2026-19673?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-19667If an attacker-controlled authoritative server can produce a…7.5
- CVE-2026-19668A BIND recursive resolver may experience excessive resource …5.3
- CVE-2026-19669The user-mode syscall verifiers z_vrfy_fuel_gauge_get_props(…7.8
- CVE-2026-19670Malcolm's nginx Lua role-based access control (RBAC) layer d…5.4
- CVE-2026-19671Malcolm's upload-processing pipeline (scripts/safe-extract.p…6.5
- CVE-2026-19672The tarfile module's tar and data extraction filters create…6.3
- CVE-2026-19676The user-mode verifier for the peci_transfer() system call, …7.8
- CVE-2026-19677An authentication bypass vulnerability in the public onPhase…9.3
- CVE-2026-19678A server-side request forgery (SSRF) vulnerability in the un…8.7
- CVE-2026-19679An input validation vulnerability exists in Security Center'…8.8
- CVE-2026-19680A SQL injection vulnerability exists in Security Center that…7.1
- CVE-2026-19681An authenticated command injection vulnerability exists in S…9.9
Are you affected by CVE-2026-19673?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
