VYPR
Unrated severityNVD Advisory· Published Mar 25, 2026· Updated Apr 18, 2026

CVE-2026-23286

CVE-2026-23286

Description

In the Linux kernel, the following vulnerability has been resolved:

atm: lec: fix null-ptr-deref in lec_arp_clear_vccs

syzkaller reported a null-ptr-deref in lec_arp_clear_vccs(). This issue can be easily reproduced using the syzkaller reproducer.

In the ATM LANE (LAN Emulation) module, the same atm_vcc can be shared by multiple lec_arp_table entries (e.g., via entry->vcc or entry->recv_vcc). When the underlying VCC is closed, lec_vcc_close() iterates over all ARP entries and calls lec_arp_clear_vccs() for each matched entry.

For example, when lec_vcc_close() iterates through the hlists in priv->lec_arp_empty_ones or other ARP tables:

1. In the first iteration, for the first matched ARP entry sharing the VCC, lec_arp_clear_vccs() frees the associated vpriv (which is vcc->user_back) and sets vcc->user_back to NULL. 2. In the second iteration, for the next matched ARP entry sharing the same VCC, lec_arp_clear_vccs() is called again. It obtains a NULL vpriv from vcc->user_back (via LEC_VCC_PRIV(vcc)) and then attempts to dereference it via vcc->pop = vpriv->old_pop, leading to a null-ptr-deref crash.

Fix this by adding a null check for vpriv before dereferencing it. If vpriv is already NULL, it means the VCC has been cleared by a previous call, so we can safely skip the cleanup and just clear the entry's vcc/recv_vcc pointers.

The entire cleanup block (including vcc_release_async()) is placed inside the vpriv guard because a NULL vpriv indicates the VCC has already been fully released by a prior iteration — repeating the teardown would redundantly set flags and trigger callbacks on an already-closing socket.

The Fixes tag points to the initial commit because the entry->vcc path has been vulnerable since the original code. The entry->recv_vcc path was later added by commit 8d9f73c0ad2f ("atm: fix a memory leak of vcc->user_back") with the same pattern, and both paths are fixed here.

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

In the Linux kernel's ATM LAN Emulation module, closing a shared VCC can cause a use-after-free crash due to a missing null check in lec_arp_clear_vccs().

Vulnerability

In the Linux kernel's ATM LAN Emulation (LANE) module), the function lec_arp_clear_vccs() can be called multiple times for the same VCC that is shared among multiple ARP table entries. This stems from the fact that an atm_vcc can be referenced by both entry->vcc and entry->recv_vcc in multiple lec_arp_table entries. When lec_vcc_close() iterates over the ARP tables to clear entries, it may encounter the same VCC more than once.

Exploitation

On the first pass for a VCC, lec_arp_clear_vccs() frees the vpriv structure (which is vcc->user_back) and sets vcc-> to NULL. However, when subsequent entries sharing that VCC are processed, lec_arp_clear_vccs() calls LEC_VCC_PRIV(vcc) which returns a NULL pointer. The function then attempts to dereference that pointer to access vpriv->, causing a null-pointer dereference crash.

Impact

An attacker capable of triggering the VCC close path (for example, by closing an ATM socket) can cause a kernel crash (denial of service). The vulnerability requires local access to create and close VCCs in a specific sequence. There is no evidence of code execution beyond the crash itself.

Mitigation

The fix adds a check for vpriv being NULL before dereferencing it. If NULL, the function skips cleanup and simply clears the ARP entry's VCC pointers. The patch is included in stable kernel updates as of March 2026 [1][2][3][4]. Administrators should apply the latest stable kernel for their distribution.

AI Insight generated on May 18, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

References

8

News mentions

0

No linked articles in our index yet.