LiveActive security incident?Get immediate response
CVE Record

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

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]

HighCVSS 7.3Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A race in Linux's xc5000 TV-tuner driver can let background work access memory after it has been freed. Successful triggering could compromise confidentiality, integrity, and availability. Exposure is limited to systems using the affected driver and requires local access, low privileges, and user interaction according to the supplied CVSS assessment.

Executive priority

Treat as a high-priority, targeted kernel remediation rather than an internet-wide emergency. Quickly identify systems using xc5000 hardware or its driver, then patch those systems through supported channels. Broader urgency is reduced by local prerequisites and the absence of documented active exploitation.

Technical view

xc5000_release() used cancel_delayed_work(), which may return while xc5000_do_timer_sleep() is still running. The release path can then free xc5000_priv before the callback dereferences it, causing a use-after-free. The kernel fix uses cancel_delayed_work_sync() to wait for callback completion; the source states this is safe because the release path holds no conflicting locks.

Likely exposure

Prioritize Linux systems where the xc5000 media-tuner driver is present and exercised, particularly with the listed affected versions. Systems not using this driver are unlikely to reach the vulnerable path. The supplied version data is ambiguous, so distribution-specific status should be confirmed against vendor guidance or the referenced stable-kernel fixes.

Exploitation context

The CVSS vector describes a local, low-complexity attack requiring low privileges and user interaction. The issue was found through static analysis. It is not listed as KEV, and the supplied sources provide no evidence of active exploitation or a public exploit.

Researcher notes

The vulnerable lifetime transition is between delayed-work cancellation and hybrid_tuner_release_state(priv). The proposed synchronization directly closes that race, and the source explicitly addresses deadlock safety. The bundle provides duplicate and potentially unclear affected-version entries; avoid deriving exact vulnerable ranges without checking kernel or distribution records.

Mitigation direction

  • Apply a vendor-supported kernel update containing the referenced xc5000 fix.
  • Confirm the release path uses cancel_delayed_work_sync() before freeing xc5000_priv.
  • If immediate patching is unavailable, assess whether the xc5000 driver can be safely disabled.
  • Consult the Linux distribution vendor for authoritative affected-version and backport status.

Validation and detection

  • Inventory kernel versions and determine whether the xc5000 driver is installed or active.
  • Compare deployed kernel builds with vendor advisories and the referenced stable-kernel commits.
  • Verify the patched source synchronously cancels timer_sleep before releasing tuner state.
  • Review kernel logs for crashes or memory-safety reports involving xc5000 paths.
  • Retest xc5000 device release and shutdown behavior after updating.
Prepared
Confidence
high
Sources
11

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2025-39994 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.3 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
3Timeline events
0ADP providers
10Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.3CVSS 3.1HighCVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H1.35.9Linux

Vulnerability scoring details

Base CVSS 3.1 score

7.3High
CVSS 3.1 vector shape for CVE-2025-39994Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinuxf7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8, f7a27ff1fb77e114d1059a5eb2ed1cffdc508ce8unaffected
LinuxLinux3.16, 0, 5.4.301, 5.10.246, 5.15.195, 6.1.156, 6.6.111, 6.12.51, 6.16.11, 6.17.1, 6.18affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.