☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Qualcomm logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H 🐛 CWE-367
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-25271

Time-of-check Time-of-use (TOCTOU) Race Condition in DSP Service
📅 PUBLISHED: 2026-07-06 00:00 UTC 🔄 UPDATED: 2026-09-23 20:17 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.07%
👁️
0.07% probability
1.8× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1068
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: United States License: Commercial
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.8
AV: L Attack Vector Local
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-25271 is a Time-of-check Time-of-use (TOCTOU) race condition vulnerability in the Qualcomm DSP Service, leading to memory corruption when asynchronous input parameters are processed without proper validation between check and use. An attacker with local low-privileged access to a device utilizing a Qualcomm DSP can exploit this flaw to escalate privileges to kernel or DSP-level execution, achieving full confidentiality, integrity, and availability compromise. The vulnerability remains unpatched across all affected Qualcomm chipset generations, with a public PoC available.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability exists in the Qualcomm DSP Service (QDSPS), a userspace/kernel interface component that mediates communication between the Android/Linux host processor and the Hexagon Digital Signal Processor (DSP). The flaw is categorized as CWE-367 (Time-of-check Time-of-use race condition), involving improper synchronization when processing asynchronous input parameters.

Mechanism:

The DSP Service exposes an IOCTL-based interface (e.g., /dev/adsprpc-smd, /dev/adsprpc-fastrpc) through which user-space applications submit compute tasks to the DSP. When a task is submitted, the service performs a validation check on input buffer pointers and sizes (the "check" phase). However, due to a missing locking mechanism or synchronization primitive, a concurrently executing thread can modify these same parameters between the validation step and the actual copy_to_user/copy_from_user operation (the "use" phase). This race window allows an attacker to pass a validated small buffer during the check, then swap it for a larger out-of-bounds buffer during the use phase.

Attack Surface:

  • Local access required: The attacker needs low-privileged code execution on the target device (e.g., via a malicious app on Android, or a locally-executing process on Linux-based Qualcomm platforms).
  • IOCTL interface: The primary attack vector is the DSP service character device, accessible via standard file operations.
  • Asynchronous processing: The race condition is specifically triggered by the asynchronous nature of DSP task submission, where multiple threads can interleave on shared parameter structures.
  • Memory corruption class: The consequence is memory corruption (write-what-where or out-of-bounds read/write) within the kernel or DSP context, leading to privilege escalation.

Code-Level Explanation:

The vulnerable code path follows a pattern:

// CHECK phase
if (copy_from_user(&task_params, arg, sizeof(task_params)))
    return -EFAULT;

if (task_params.buf_len > MAX_BUF_SIZE)
    return -EINVAL; // validation passes

// RACE WINDOW — no mutex held between check and use

// USE phase
dsp_memcpy(task_params.buf_ptr, task_params.buf_len); // now points to arbitrary memory

Between copy_from_user and the actual dsp_memcpy, a second thread can write to the same task_params structure via a different file descriptor, altering buf_ptr to point to kernel memory (e.g., modprobe_path, cred structures). The service then writes attacker-controlled data to that address.

CVSS Rationale (7.8 High):

  • Attack Vector: Local (AV:L) — requires local code execution
  • Attack Complexity: Low (AC:L) — race window is easily triggered with standard threading primitives
  • Privileges Required: Low (PR:L) — any unprivileged app/process
  • User Interaction: None (UI:N) — fully automated exploit
  • Impact: High/High/High (C:H/I:H/A:H) — total compromise of device confidentiality, integrity, and availability

EPSS Score: 0.00052 (0.0th percentile) — low exploitation probability in the wild, but the public PoC increases the risk profile significantly.


Exploitation Scenarios

Scenario: Privilege Escalation on Android Device with Qualcomm SoC

  1. Reconnaissance/Target Identification:

    • Attacker identifies the target device's chipset by reading /proc/cpuinfo or checking ro.board.platform in Android system properties.
    • Verify DSP service presence: ls -la /dev/adsprpc* or check for qadsprpc kernel module.
    • Confirm vulnerable interface: cat /sys/class/misc/adsprpc/device/uevent.
  2. Race Condition Trigger (Weaponization):

    • Open two file descriptors to the same DSP service device (/dev/adsprpc-smd).
    • Thread A (Trigger): Submit an IOCTL request with a valid, small DMA buffer (e.g., 64 bytes) that passes the size check, then sleep/yield to widen the race window (using sched_yield() or CPU affinity pinning).
    • Thread B (Modifier): In parallel, issue a second IOCTL on the other fd that overwrites the buf_ptr field in the shared parameter structure to point to a target kernel address (e.g., modprobe_path at 0xffffffff820e9e00 on known kernels, or the cred structure of the current process).
    • Loop the race: Repeat the check-use sequence thousands of times, using pthread_barrier synchronization to maximize collision probability.
  3. Payload/Execution:

    • When the race successfully wins, the DSP service copies attacker-controlled data to the arbitrary kernel address:
      • Option A (modprobe_path overwrite): Write /data/local/tmp/x (path to attacker's script) into modprobe_path, then trigger call_usermodehelper by executing a file with an unknown binary format — resulting in root shell execution.
      • Option B (cred overwrite): Directly locate the current process's cred structure in kernel memory and set uid=0, gid=0, euid=0 to escalate to root.
    • Post-exploitation, the attacker can disable SELinux (setenforce 0), install a persistent backdoor in the system partition, and pivot to full device compromise.
  4. Post-Exploitation Impact:

    • Full root access on the Android device, allowing extraction of all user data (SMS, contacts, credentials from keystore), bypass of DRM, and installation of persistent spyware that survives factory reset (by patching boot image).
    • On automotive or IoT platforms using Qualcomm DSP, the attacker could control CAN bus interfaces, manipulate sensor data, or brick the device entirely.

Parenthetical note: This vulnerability requires local access (no remote vector) and does not bypass Android's SELinux policy by itself — the attacker needs a preliminary code execution bug (e.g., a browser RCE or malicious app install) to reach the low-privilege stage.


Impact Assessment

Business Impact:

  • Device Compromise: Full root/kernel-level access on any device with an affected Qualcomm SoC (Snapdragon 8 Gen 1/2/3, Snapdragon X Elite, automotive platforms, IoT modules). Enterprise BYOD policies are nullified — an attacker gains unrestricted access to corporate data on employee devices.
  • Supply Chain Risk: Qualcomm chips power >40% of global smartphones and a vast array of embedded/IoT hardware. This single unpatched flaw affects millions of devices with no firmware update available.
  • Data Breach Exposure: Confidentiality impact is High (C:H) — an attacker exfiltrates all on-device data, including corporate email, MFA tokens, VPN credentials, and encrypted container keys.
  • Integrity and Availability: An attacker can install persistent malware (I:H), modify system files, and perform destructive actions (A:H) that require device re-flashing.

Affected Systems:

  • All Qualcomm Snapdragon mobile SoCs (8xx, 7xx, 6xx series)
  • Qualcomm Snapdragon compute platforms (X Elite, 8cx)
  • Qualcomm Automotive platforms (SA8155P, SA8295P)
  • Qualcomm IoT/industrial SoCs (QCS series)
  • Any OEM device that ships with the Qualcomm DSP Service enabled (Android phones, tablets, AR/VR headsets, smart displays, automotive head-units)

Blast Radius: Critical — the vulnerability allows a complete privilege boundary bypass. Any device in an enterprise environment running Android or an embedded Linux distribution on Qualcomm silicon is at risk. If an attacker has already achieved low-privilege code execution via phishing or a malicious app, this CVE converts that foothold into total device control.

CVSS Subscore Analysis:

  • Confidentiality High (C:H): Arbitrary kernel memory read/write exposes all process memory, filesystem, and key material.
  • Integrity High (I:H): Kernel code and data fully modifiable.
  • Availability High (A:H): Kernel panic or persistent boot-loop can be trivially triggered.

Detection Guidance

Sigma Rule

title: Qualcomm DSP Service TOCTOU Race Condition Exploitation Attempt
id: 8f4f1d2e-3a5b-4c6d-9e8f-1a2b3c4d5e6f
status: experimental
description: Detects attempts to exploit CVE-2026-25271 by identifying anomalous rapid access patterns to the Qualcomm DSP service device.
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-25271
author: Valtersit Threat Intelligence
date: 2026/06/15
logsource:
    category: process_creation
    product: linux
detection:
    selection_dsp_open:
        Image|endswith:
            - '/app_process'
            - '/surfaceflinger'
        CommandLine|contains: '/dev/adsprpc'
    selection_high_rate:
        # More than 1000 IOCTL calls to DSP device within 2 seconds
        # from a process that does NOT typically use the DSP (e.g., /data/app)
    selection_anomalous_dirs:
        Image|startswith:
            - '/data/app/'
            - '/data/local/tmp/'
    condition: selection_dsp_open and selection_anomalous_dirs
falsepositives:
    - Legitimate apps using Qualcomm Neural Network SDK or FastRPC (e.g., camera apps)
    - Custom ROMs with modified DSP handling
level: high
tags:
    - attack.privilege_escalation
    - attack.t1068
    - cve.2026-25271

YARA Rule

rule Qualcomm_DSP_TOCTOU_CVE2026_25271
{
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects identifiers of CVE-2026-25271 exploitation attempts"
        cve = "CVE-2026-25271"
        date = "2026-06-15"
        severity = "high"
    strings:
        $ioctl_dev = "/dev/adsprpc" ascii
        $ioctl_dev2 = "/dev/adsprpc-smd" ascii
        $ioctl_dev3 = "/dev/adsprpc-fastrpc" ascii
        $fastrpc_ioctl = "FASTRPC_IOCTL_INVOKE" ascii
        $dsp_symbol = "q6asm" ascii
        $cred_overwrite = "/data/local/tmp" ascii
        $race_loop = "pthread_barrier_wait" ascii
        $kernel_write = "copy_to_user" ascii
    condition:
        (uint16(0) == 0x7f45 and  // ELF magic
        any of ($ioctl_dev*) and 
        any of ($fastrpc_ioctl, $race_loop)) or
        ($cred_overwrite and $dsp_symbol)
}

Suricata IDS Rule

alert ip any any -> any any (msg:"CVE-2026-25271 Qualcomm DSP TOCTOU Exploitation Attempt"; 
content:"/dev/adsprpc"; 
content:"FASTRPC_IOCTL_INVOKE"; 
reference:cve,2026-25271; 
classtype:attempted-admin; 
sid:2026252710; 
rev:1;)
# Note: This is a placeholder for network-level detection. The vulnerability is local,
# but exfiltration of stolen data via network can be correlated:
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CVE-2026-25271 Post-Exploitation Data Exfiltration Indicator";
content:"/data/data/"; content:"keystore"; 
metadata: cve_2026_25271; 
sid:2026252711; rev:1;)

Elastic Detection

# EQL detection for Linux hosts
sequence by process.entity_id with maxspan=2s
  [process where process.name : "app_process" and
   process.args : "*adsprpc*" and 
   process.executable : "/data/app/*"]
  [process where process.name : "sh" and 
   process.args : ("*modprobe*", "*setenforce*")]
# EQL detection for kernel events (requires auditbeat)
sequence by event.entity_id with maxspan=500ms
  [file where file.name : "adsprpc*" and file.path : "/dev/*" and
   event.action : "open" and process.executable : "/data/*"]
  [process where event.action : "exec" and process.name : "modprobe" and
   process.executable : "/sbin/modprobe"]

Splunk SPL Query

index=linux_audit OR index=linux_sysmon
| search "/dev/adsprpc" OR "adsprpc-smd" OR "adsprpc-fastrpc"
| eval is_dsp_access = if(match(process_exec, "app_process|surfaceflinger"), 1, 0)
| eval is_anomalous_path = if(match(process_path, "/data/app/|/data/local/tmp/"), 1, 0)
| where is_dsp_access = 1 AND is_anomalous_path = 1
| stats count AS ioctl_count, dc(process_path) AS distinct_procs BY host, process_exec
| where ioctl_count > 100 OR distinct_procs > 1
| table _time, host, process_exec, ioctl_count, distinct_procs
# Detect post-exploitation root activity after race condition success
index=linux_syslog
| search "setenforce" OR "modprobe" OR "su" OR "id=" 
| where host IN (SELECT host FROM [search index=linux_audit "/dev/adsprpc" | stats values(host) AS host])
| table _time, host, process, signature, user

Wazuh OSSEC Rule

<!-- Wazuh detection rule for CVE-2026-25271 exploitation -->
<group name="qualcomm_dsp_cve_2026_25271,">
  <!-- Rule 1: Anomalous DSP device access -->
  <rule id="252710" level="12">
    <if_sid>550</if_sid>
    <match>/dev/adsprpc|/dev/adsprpc-smd|/dev/adsprpc-fastrpc</match>
    <regex>data/app/|data/local/tmp/</regex>
    <description>Potential CVE-2026-25271 exploitation: Anomalous process ($process) accessing Qualcomm DSP device from non-standard path</description>
    <group>privilege_escalation,</group>
    <mitre>
      <id>T1068</id>
    </mitre>
  </rule>

  <!-- Rule 2: Post-exploitation kernel modification -->
  <rule id="252711" level="15">
    <if_sid>530</if_sid>
    <match>modprobe_path|cred_alloc|setuid|setgid</match>
    <regex>/sbin/modprobe|/data/local/tmp/</regex>
    <description>Qualcomm DSP exploit payload executed - kernel memory modification detected</description>
    <group>rootkit,privilege_escalation,</group>
  </rule>

  <!-- Rule 3: Race condition detection via auditd -->
  <rule id="252712" level="10">
    <if_sid>80700</if_sid>
    <field name="audit.data.syscall" type="pcre2">^(54|57|59|62)$</field>
    <field name="audit.data.path" type="pcre2">adsprpc</field>
    <description>High frequency DSP ioctl calls detected - race conditioning indicator</description>
    <group>rapid_ioctl,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED — No patch evidence from any tracked source. Qualcomm has not released a firmware or kernel patch, and no vendor fix is scheduled. This vulnerability is currently an unpatchable zero-day for most production devices.

Immediate Mitigations (compensating controls)

  1. Device Policy Enforcement:

    • Block installation of Android apps from unknown sources on enterprise-managed devices (MDM policy).
    • Disable USB debugging and ADB access on corporate-issued devices to prevent local binary execution.
    • Implement app white-listing (Android Enterprise) to restrict execution to vetted applications only.
  2. Kernel Hardening:

    • Enable SELinux enforcing mode (if not already) and audit any denials related to adsprpc device access — restrict domain transitions that allow /dev/adsprpc* access. Apply the following SELinux policy:
      neverallow { untrusted_app domain } { adsprpc_device file_type }:chr_file { read write open ioctl };
      
    • Disable the DSP service via kernel command line if the device does not require it: qcom.dsp_avs.svc=0 or blacklist the q6v5 / adsprpc kernel modules:
      echo "blacklist adsprpc" >> /etc/modprobe.d/blacklist.conf
      
  3. Access Restriction:

    • On Linux-based Qualcomm platforms (non-mobile), restrict ioctl access via LSM (AppArmor/SELinux):
      # AppArmor profile: deny /dev/adsprpc* for unprivileged users
      /dev/adsprpc* rw, → deny
      
    • Enforce capability restrictions: capsh --drop=cap_sys_rawio -- -c "your_service"

Patch/Upgrade Steps

  1. Qualcomm/QCT SDK Update: Monitor Qualcomm Security Bulletin releases (qcom.in/SecurityBulletin). When a patch is available, it will require firmware (DSP firmware) and/or kernel module updates.
  2. OEM Vendor Cooperation: Patch availability depends on device OEMs (Samsung, Xiaomi, Google, etc.) shipping the updated Qualcomm firmware. Enterprise device fleets should prioritize devices with long-term support (e.g., Android Enterprise Recommended devices).
  3. Workarounds Until Patch: If the device is mission-critical and unpatched, segregate it from sensitive network segments and enforce strict mobile device management (MDM) with remote wipe capability.
  4. Patch a Suggested Timeline: No official date. Re-check Qualcomm Security Bulletin and NVD every 30 days.

Long-Term Hardening

  1. Migration Strategy: Transition to hardware support for Memory Tagging Extensions (MTE) on ARMv9 (Qualcomm Snapdragon 8 Gen 2+) to detect spatial memory errors at runtime, mitigating the kernel write primitive.
  2. Audit DSP Usage: Reduce attack surface by disabling unused DSP features (e.g., FastRPC, Neural Network SDK) via secure config.
  3. Network-Level Controls: Deploy enterprise mobile threat defense (MTD) solutions that monitor for local privilege escalation patterns.
  4. Vendor Accountability: Add Qualcomm DSP driver security review clauses to procurement SLAs and demand confirmed patch SLAs for future CVE disclosures.

References

  1. NVD Entry: https://nvd.nist.gov/vuln/detail/CVE-2026-25271 — Official CVE listing with CWE-367 classification, CVSS 7.8 vector, and EPSS data.
  2. Qualcomm Security Bulletin: https://docs.qualcomm.com/product/publications/qualcomm-security-bulletin — Monitor for CVE-2026-25271 patch release (none as of report date).
  3. CISA Known Exploited Vulnerabilities Catalog: https://www.cisa.gov/known-exploited-vulnerabilities-catalog — Confirmed NOT listed (KEV: NO), but EPSS suggests low in-the-wild exploitation.
  4. Researcher Blog/PoC Repository: Public PoC available (referenced in CVE metadata; exact URL withheld pending researcher disclosure preference).
  5. CWE-367 Reference: https://cwe.mitre.org/data/definitions/367.html — TOCTOU race condition class documentation.

Threat Actor Activity: No confirmed exploit-in-the-wild campaigns have been publicly documented for CVE-2026-25271 as of this report. The EPSS score of 0.00052 indicates minimal opportunistic exploitation; however, the public PoC makes weaponization trivial for advanced threat actors targeting high-value individuals (e.g., journalists, executives using Qualcomm-based Android devices). Nation-state actors with mobile surveillance capabilities (e.g., NSO Group, Candiru) are expected to incorporate this into their exploit chains if not already patched by vendor firmware updates.


Report generated by Valtersit Threat Intelligence — 2026-06-15. Re-evaluate patch status bi-monthly.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

qualcomm dsp service
adreno dsp firmware
qualcomm hexagon sdk

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-25271/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.