PatchSiren

PatchSiren cyber security CVE debrief

CVE-2026-98645 Linux CVE debrief

A use-after-free vulnerability was found in the Linux kernel's HID winwing driver. The vulnerability occurs when the driver's private data, allocated with devm_kzalloc(), is passed as the effect context to input_ff_create_memless(). The memoryless force-feedback core takes ownership of that pointer and frees it with kfree() from input_ff_destroy() when the input device is destroyed. However, freeing a devm-managed allocation with kfree() is an invalid free, and the same object is then released again by devres when the HID device is torn down, resulting in a double free.

Vendor
Linux
Product
Unknown
CVSS
Unknown
CISA KEV
Not listed in stored evidence
Original CVE published
2026-10-18
Original CVE updated
2026-10-18
Advisory published
2026-10-18
Advisory updated
2026-10-18

Who should care

Linux kernel maintainers, Linux distribution maintainers, and users of Linux-based systems should assess exposure and apply patches or workarounds to prevent exploitation. This includes operators managing Linux-based infrastructure, platform administrators, vulnerability management teams, and security teams responsible for monitoring and defending Linux systems.

Why it matters

The vulnerability requires verification of Linux kernel versions and exposure assessment. Defenders should prioritize patching or applying workarounds to prevent potential exploitation.

  • Potential system crashes or instability due to double free
  • Possible elevation of privileges or arbitrary code execution

Technical summary

The Linux kernel's HID winwing driver has a use-after-free vulnerability. The driver's private data is allocated with devm_kzalloc() and passed as the effect context to input_ff_create_memless(). The memoryless force-feedback core frees this pointer with kfree() from input_ff_destroy() when the input device is destroyed. However, this is an invalid free because it's a devm-managed allocation. The object is then released again by devres when the HID device is torn down, resulting in a double free.

Defensive priority

Assess exposure and apply patches or workarounds to prevent exploitation.

Recommended defensive actions

  • Assess exposure by checking if the Linux kernel version is affected
  • Apply patches or workarounds provided by the Linux kernel maintainers
  • Monitor system logs for potential exploitation attempts
  • Review compensating controls for exposed systems while remediation is scheduled and verified
  • Check relevant monitoring, detection, and logs for exposed assets that need extra review
  • Track exceptions, retest remediated assets, and close the item only after evidence is documented
  • Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up

Evidence notes

The vulnerability was resolved by passing NULL as the memless context instead and fetching the driver data from the input device in winwing_play_effect(). The fix addresses a double free issue by changing how the driver's private data is handled during force-feedback teardown. This change prevents the invalid free of devm-managed allocations and subsequent memory corruption. Defenders should verify Linux kernel versions, assess exposure, and apply patches or workarounds to prevent potential exploitation.

Sources and references

Verified primary and authoritative sources

  • CVE-2026-98645 CVE Program record

    Publisher, destination, and source semantics verified

    URL: https://www.cve.org/CVERecord?id=CVE-2026-98645

    CVE Program - Official CVE Program record with source-provided CVE metadata.

  • CVE-2026-98645 NVD vulnerability detail

    Publisher, destination, and source semantics verified

    URL: https://nvd.nist.gov/vuln/detail/CVE-2026-98645

    NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.

Supplemental references

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/2b25f11ec52ea0a82334d5b83ee321f6b0a35923

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

  • Source reference

    Unverified legacy reference

    URL: https://git.kernel.org/stable/c/a1a5ad37e50ceb192c07ac7e2d7143638cd4d110

    416baaa9-dc9f-4396-8d5f-8c081fb06d67

Methodology and review provenance

AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.