Cloudanix VulnDB

CVE-2026-43232

High · 8.8

CVSS

8.8

EPSS

0.4%

Published

May 6, 2026

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Track

A flaw in a specialized Linux networking driver can crash or potentially compromise affected systems when the related hardware is removed while background network work is still running.

Exploitation
Requires User Interaction
Attacker needs
User Interaction
Complexity
Moderate
Impact
Privilege Gain
Component
OS kernel
Class
Use After Free
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

This vulnerability is a use-after-free race condition in the Linux kernel FarSync T-series WAN card driver. During device removal, the driver frees the fst_card_info structure in fst_remove_one() while transmit or interrupt tasklets, such as fst_tx_task or fst_int_task, may still be queued or executing. If those tasklets later run and dereference the freed card structure in fst_process_tx_work_q(), fst_process_int_work_q(), or do_bottom_half_tx(), kernel memory that has already been released can be accessed. Depending on timing, allocator state, kernel hardening, and attacker control over subsequent allocations, this can cause a kernel crash, memory corruption, information disclosure, or potentially privilege escalation/code execution in kernel context.

Why it matters to the business

Systems using the affected Linux kernel driver for FarSync T-series WAN cards may be exposed to crashes or kernel-level compromise during device detach, hotplug, driver unload, or related hardware lifecycle events. The most likely operational impact is denial of service through a kernel panic or unstable networking on systems using this specialized WAN hardware; in a worst case, successful exploitation could allow an attacker to gain full control of the affected host. Although the EPSS score is low and there is no known CISA KEV listing or public exploit maturity reported, the high CVSS score reflects the severity of kernel memory corruption if the vulnerable code path is reachable.

How an attack unfolds

An attacker needs a way to trigger activity in the FarSync WAN driver while the device is being removed, detached, disabled, hot-unplugged, or the driver is being unloaded. The vulnerable sequence occurs when transmit or interrupt work is scheduled through tasklets and, before that deferred work finishes, the driver cleanup path unregisters the HDLC device and frees the fst_card_info object. If the pending tasklet then runs, it dereferences the stale pointer to the freed object. An attacker who can repeatedly cause transmit activity and device teardown may be able to win the race and cause a kernel use-after-free. In the simplest case, this produces a crash or KASAN report; with favorable heap grooming and reliable control over replacement allocations, the same primitive could potentially be developed into kernel memory corruption leading to privilege escalation or arbitrary code execution. Practical exploitation is constrained by the need for the affected driver and relevant hardware or emulated/hotplug-capable device paths, and no mature public exploit is currently indicated.

How to fix it

Upgrade to a Linux kernel build from the relevant distribution or vendor that includes the FarSync driver fix for unfinished tasklets during device detach. No exact fixed package versions were provided in the input, so remediation should use the vendor advisory, stable kernel changelog, or distribution security tracker for the deployed kernel branch. Where immediate patching is not possible, reduce exposure by disabling or removing the FarSync driver if it is not required, preventing the fst module from loading, disabling unused FarSync/HDLC WAN hardware, and restricting administrative or physical/virtual hardware hotplug operations. For systems that require the hardware, schedule a controlled maintenance window to update the kernel and reboot into the fixed version.

How to confirm the fix worked

Confirm remediation by verifying that the running kernel version is a vendor-fixed build, not merely that an updated package is installed on disk. Check the active kernel with uname -r and compare it with the distribution advisory or kernel changelog containing the FarSync tasklet cleanup fix. Confirm whether the vulnerable driver is present or loaded using lsmod, modinfo, or kernel configuration checks for the FarSync driver. On systems where the driver is not needed, validate that it cannot be loaded automatically through module blacklist policy and that no FarSync PCI hardware is present. For deeper validation in test environments, reproduce controlled attach/detach or module unload scenarios with kernel sanitizers or crash monitoring enabled and confirm that no KASAN use-after-free, softirq, tasklet, or do_bottom_half_tx traces occur.

Typical attack path

  1. Identify a Linux system running an affected kernel with the FarSync T-series WAN driver present and reachable through configured hardware, hotplug, module loading, or virtualized PCI paths.
  2. Generate or trigger network transmit/interrupt activity through the FarSync driver so that fst_tx_task or fst_int_task is scheduled.
  3. Trigger device removal, driver unload, PCI hot-unplug, slot disablement, or another path that reaches fst_remove_one().
  4. Race the cleanup path so fst_card_info is freed while the previously scheduled tasklet is still pending or executing.
  5. Allow the tasklet handler to run after free and dereference the stale card pointer in fst_process_tx_work_q(), fst_process_int_work_q(), or do_bottom_half_tx().
  6. Use the resulting memory corruption to crash the kernel, disclose data, or attempt kernel-level privilege escalation depending on exploit reliability and memory layout control.

How to detect it

Investigate kernel logs, persistent journal entries, crash dumps, oops reports, KASAN reports, and endpoint telemetry for evidence of kernel memory corruption in the FarSync driver. Relevant log sources include dmesg, /var/log/kern.log, /var/log/messages, journalctl -k, kdump/vmcore analysis, hypervisor hardware hotplug logs, and change records for driver unloads or PCI device detach events. Look for slab-use-after-free reports involving do_bottom_half_tx, fst_process_tx_work_q, fst_process_int_work_q, fst_remove_one, tasklet_action_common, ksoftirqd, or acpiphp hotplug paths. Correlate any crash or warning with WAN/HDLC interface activity, FarSync device removal, PCI slot disable/eject events, module unloads, or repeated hardware reset operations. Because this vulnerability does not inherently create a stable user-space artifact, strong evidence is likely to appear as kernel crash telemetry rather than files, registry keys, or persistent network indicators.

  • BUG: KASAN: slab-use-after-free in do_bottom_half_tx
  • slab-use-after-free in do_bottom_half_tx
  • fst_process_tx_work_q
  • fst_process_int_work_q
  • fst_remove_one
  • do_bottom_half_tx
  • tasklet_action_common
  • ksoftirqd
  • unregister_hdlc_device
  • pci_stop_and_remove_bus_device
  • acpiphp_disable_and_eject_slot
  • acpiphp_hotplug_notify
  • acpi_device_hotplug
  • disable_slot
  • enable_slot
  • kfree+0x135
  • KASAN: bad access detected
  • Read of size 4 at addr
  • freed 1024-byte region
  • kmalloc-1k
  • farsync
  • fst_tx_task
  • fst_int_task

What your security team should do

  • Prioritize patching systems that use FarSync T-series WAN hardware, HDLC/WAN interfaces, PCI hotplug, or environments where device attach/detach can be triggered by less-trusted users or virtualization control planes.
  • Inventory Linux hosts for the FarSync driver by checking loaded modules, kernel configuration, PCI devices, and WAN/HDLC interface usage.
  • If the FarSync driver is not business-critical, disable or blacklist the module and remove unused hardware exposure until kernel updates are deployed.
  • Monitor kernel logs for KASAN, slab-use-after-free, fst_remove_one, fst_process_tx_work_q, fst_process_int_work_q, do_bottom_half_tx, tasklet, and ksoftirqd crash indicators.
  • Treat unexplained kernel panics or KASAN reports involving the FarSync driver as potentially security-relevant, especially if they coincide with device removal, PCI hotplug, or WAN interface activity.
  • Because no KEV listing, ransomware use, or mature public exploit is currently reported, prioritize based on actual driver exposure rather than internet-wide urgency, while still addressing the high-impact kernel memory corruption risk.
  • After patching, reboot systems into the fixed kernel and verify the vulnerable kernel is no longer running.

The record

In the Linux kernel, the following vulnerability has been resolved: net: wan: farsync: Fix use-after-free bugs caused by unfinished tasklets When the FarSync T-series card is being detached, the fst_card_info is deallocated in fst_remove_one(). However, the fst_tx_task or fst_int_task may still be running or pending, leading to use-after-free bugs when the already freed fst_card_info is accessed in fst_process_tx_work_q() or fst_process_int_work_q(). A typical race condition is depicted below: CPU 0 (cleanup) | CPU 1 (tasklet) | fst_start_xmit() fst_remove_one() | tasklet_schedule() unregister_hdlc_device()| | fst_process_tx_work_q() //handler kfree(card) //free | do_bottom_half_tx() | card-> //use The following KASAN trace was captured: ================================================================== BUG: KASAN: slab-use-after-free in do_bottom_half_tx+0xb88/0xd00 Read of size 4 at addr ffff88800aad101c by task ksoftirqd/3/32 ... Call Trace: <IRQ> dump_stack_lvl+0x55/0x70 print_report+0xcb/0x5d0 ? do_bottom_half_tx+0xb88/0xd00 kasan_report+0xb8/0xf0 ? do_bottom_half_tx+0xb88/0xd00 do_bottom_half_tx+0xb88/0xd00 ? _raw_spin_lock_irqsave+0x85/0xe0 ? __pfx__raw_spin_lock_irqsave+0x10/0x10 ? __pfx___hrtimer_run_queues+0x10/0x10 fst_process_tx_work_q+0x67/0x90 tasklet_action_common+0x1fa/0x720 ? hrtimer_interrupt+0x31f/0x780 handle_softirqs+0x176/0x530 __irq_exit_rcu+0xab/0xe0 sysvec_apic_timer_interrupt+0x70/0x80 ... Allocated by task 41 on cpu 3 at 72.330843s: kasan_save_stack+0x24/0x50 kasan_save_track+0x17/0x60 __kasan_kmalloc+0x7f/0x90 fst_add_one+0x1a5/0x1cd0 local_pci_probe+0xdd/0x190 pci_device_probe+0x341/0x480 really_probe+0x1c6/0x6a0 __driver_probe_device+0x248/0x310 driver_probe_device+0x48/0x210 __device_attach_driver+0x160/0x320 bus_for_each_drv+0x101/0x190 __device_attach+0x198/0x3a0 device_initial_probe+0x78/0xa0 pci_bus_add_device+0x81/0xc0 pci_bus_add_devices+0x7e/0x190 enable_slot+0x9b9/0x1130 acpiphp_check_bridge.part.0+0x2e1/0x460 acpiphp_hotplug_notify+0x36c/0x3c0 acpi_device_hotplug+0x203/0xb10 acpi_hotplug_work_fn+0x59/0x80 ... Freed by task 41 on cpu 1 at 75.138639s: kasan_save_stack+0x24/0x50 kasan_save_track+0x17/0x60 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x43/0x70 kfree+0x135/0x410 fst_remove_one+0x2ca/0x540 pci_device_remove+0xa6/0x1d0 device_release_driver_internal+0x364/0x530 pci_stop_bus_device+0x105/0x150 pci_stop_and_remove_bus_device+0xd/0x20 disable_slot+0x116/0x260 acpiphp_disable_and_eject_slot+0x4b/0x190 acpiphp_hotplug_notify+0x230/0x3c0 acpi_device_hotplug+0x203/0xb10 acpi_hotplug_work_fn+0x59/0x80 ... The buggy address belongs to the object at ffff88800aad1000 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 28 bytes inside of freed 1024-byte region The buggy address belongs to the physical page: page: refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0xaad0 head: order:3 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 flags: 0x100000000000040(head|node=0|zone=1) page_type: f5(slab) raw: 0100000000000040 ffff888007042dc0 dead000000000122 0000000000000000 raw: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000 head: 0100000000000040 ffff888007042dc0 dead000000000122 0000000000000000 head: 0000000000000000 0000000080100010 00000000f5000000 0000000000000000 head: 0100000000000003 ffffea00002ab401 00000000ffffffff 00000000ffffffff head: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 page dumped because: kasan: bad access detected Memory state around the buggy address: ffff88800aad0f00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc ffff88800aad0f80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc >ffff88800aad1000: fa fb ---truncated---

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities