CVE-2025-39994 media: tuner: xc5000: Fix use-after-free in xc5000_release

High 7.3 Published Updated

A use-after-free vulnerability in the Linux kernel's xc5000 tuner driver allows attackers to potentially execute code or escalate privileges via a race condition.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Local or same network only
Victim action needed
A user has to click or open something
Fix
Available

What is CVE-2025-39994?

CVE-2025-39994 is a high-severity use after free vulnerability in Linux, published on 15 Oct 2025. It can only be exploited from the same machine or local network, and only if a user opens a file or follows a link.

Official description

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

media: tuner: xc5000: Fix use-after-free in xc5000_release

The original code uses cancel_delayed_work() in xc5000_release(), which does not guarantee that the delayed work item timer_sleep has fully completed if it was already running. This leads to use-after-free scenarios where xc5000_release() may free the xc5000_priv while timer_sleep is still active and attempts to dereference the xc5000_priv.

A typical race condition is illustrated below:

CPU 0 (release thread) | CPU 1 (delayed work callback) xc5000_release() | xc5000_do_timer_sleep() cancel_delayed_work() | hybrid_tuner_release_state(priv) | kfree(priv) | | priv = container_of() // UAF

Replace cancel_delayed_work() with cancel_delayed_work_sync() to ensure that the timer_sleep is properly canceled before the xc5000_priv memory is deallocated.

A deadlock concern was considered: xc5000_release() is called in a process context and is not holding any locks that the timer_sleep work item might also need. Therefore, the use of the _sync() variant is safe here.

This bug was initially identified through static analysis.

[hverkuil: fix typo in Subject: tunner -> tuner]

Which versions are affected by CVE-2025-39994?

How do I fix CVE-2025-39994?

Apply the vendor's patch.

Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.

Is CVE-2025-39994 being exploited?

There is no known exploitation of CVE-2025-39994 in the wild and no public exploit code.

Sources

Also known as AZL-68510, BELL-CVE-2025-39994, DEBIAN-CVE-2025-39994, GHSA-ghgh-r6c5-cgx8, ROOT-OS-DEBIAN-11-CVE-2025-39994, ROOT-OS-DEBIAN-12-CVE-2025-39994 and 4 more.

Is CVE-2025-39994 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free