HOMEVULNERABILITIESCVE-2026-31578
HIGH

CVE-2026-31578

Published: April 24, 2026· Updated: Apr 27, 2026

7.8
CVSS v3.1
EPSS:0.02%probability of exploitation in 30 daysPercentile:4.8th

Official Description

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

media: as102: fix to not free memory after the device is registered in as102_usb_probe()

In as102_usb driver, the following race condition occurs:

```

CPU0 CPU1

as102_usb_probe()

kzalloc(); // alloc as102_dev_t

....

usb_register_dev();

fd = sys_open("/path/to/dev"); // open as102 fd

....

usb_deregister_dev();

....

kfree(); // free as102_dev_t

....

sys_close(fd);

as102_release() // UAF!!

as102_usb_release()

kfree(); // DFB!!

```

When a USB character device registered with usb_register_dev() is later

unregistered (via usb_deregister_dev() or disconnect), the device node is

removed so new open() calls fail. However, file descriptors that are

already open do not go away immediately: they remain valid until the last

reference is dropped and the driver's .release() is invoked.

In as102, as102_usb_probe() calls usb_register_dev() and then, on an

error path, does usb_deregister_dev() and frees as102_dev_t right away.

If userspace raced a successful open() before the deregistration, that

open FD will later hit as102_release() --> as102_usb_release() and access

or free as102_dev_t again, occur a race to use-after-free and

double-free vuln.

The fix is to never kfree(as102_dev_t) directly once usb_register_dev()

has succeeded. After deregistration, defer freeing memory to .release().

In other words, let release() perform the last kfree when the final open

FD is closed.

NVD Source

Technical Analysis

CVE-2026-31578 requires local access, meaning attackers must already have a foothold on the target system.

Exploitation requires low privileges, which limits the exposure to scenarios where an attacker has already gained initial access.

A successful exploit results in complete confidentiality breach (data exposure), full integrity compromise (data manipulation), availability disruption (denial of service), with a CVSS base score of 7.8.

CVSS v3.1 Vector Breakdown

Exploitability
Attack VectorLocal
Attack ComplexityLow
Privileges Req.Low
User InteractionNone
ScopeUnchanged
Impact
ConfidentialityHigh
IntegrityHigh
AvailabilityHigh
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Affected Vendors & Products

Linux1 product
linux kernel
Source: NVD CPE · 1 total CPE entries

Exploit & PoC Resources

NO KNOWN EXPLOITNo public exploit confirmed at this time
External links open in a new tab. Always verify in a controlled environment before use.

Official Patches & Advisories

All References (6)

Quick Facts

CVE IDCVE-2026-31578
CVSS Score7.8 / 10
SeverityHIGH
CISA KEVNo
EPSS (30d)0.02%
Affected1 vendor
PublishedApr 24, 2026

Recommended Actions

  • Apply vendor patches immediately
  • Monitor CVE-2026-31578 in threat intel feeds
  • Review IDS/IPS signatures for exploitation attempts
Data sourced from NVD (NIST), CISA KEV, and EPSS (FIRST). Analysis generated by CTIWATCH.COM. CVE data is provided under the NVD usage policy.