☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-9188

CVE-2025-9188 Insecure Deserialization in Digilent
📅 PUBLISHED: 2025-09-02 18:19 UTC 🔄 UPDATED: 2026-09-23 20:17 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.51%
👁️
0.51% probability
12.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
7.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-9188 is a critical deserialization of untrusted data vulnerability (CWE-502) in Digilent DASYLab, a data acquisition and signal analysis software. The flaw allows an attacker to achieve arbitrary code execution by tricking a user into opening a specially crafted .DSB file. With a CVSS score of 7.8, the vulnerability requires user interaction but no privileges, making it a high-risk threat for industrial, research, and engineering environments where DASYLab is deployed. No public proof-of-concept (PoC) or patch is currently available, and the vendor has not released a fix. The EPSS score is 0.0%, indicating low exploitation likelihood at this time, but the risk remains significant due to the potential for full system compromise.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a standalone desktop application (Digilent DASYLab) distributed via vendor channels. Supply chain risks include the distribution of malicious .DSB files through email, USB drives, or compromised websites.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Local (L) – The attacker must deliver the malicious file to the target system.
  • Attack Complexity (AC): Low (L) – No special conditions required beyond user opening the file.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): Required (R) – Victim must open the crafted .DSB file.
  • Scope (S): Unchanged (U) – The vulnerability does not affect other components.
  • Confidentiality (C): High (H) – Full data access possible.
  • Integrity (I): High (H) – Arbitrary code execution allows data modification.
  • Availability (A): High (H) – System can be rendered unavailable.

Threat Level: High. Exploitation requires user interaction but can lead to full system compromise, including lateral movement in industrial networks.

Deep Dive & Mechanics

The vulnerability resides in how DASYLab deserializes .DSB project files. Deserialization of untrusted data (CWE-502) occurs when the application reconstructs objects from serialized input without proper validation. In DASYLab, .DSB files contain serialized objects representing measurement configurations, signal processing blocks, and UI elements. An attacker can craft a malicious .DSB file that includes serialized objects with overridden methods or properties that execute arbitrary code during deserialization.

Technical Flow:

  1. The attacker creates a .DSB file with a malicious serialized object (e.g., a java.lang.Runtime or similar gadget chain if Java-based, or a .NET BinaryFormatter exploit if the application is .NET-based).
  2. The victim opens the file in DASYLab.
  3. The application's deserialization routine reads the object graph without sanitization.
  4. During deserialization, the malicious object triggers code execution (e.g., via readObject() or OnDeserialized callback).
  5. The attacker's payload runs in the context of the DASYLab process, enabling arbitrary commands.

Root Cause: Lack of input validation and use of insecure deserialization methods. The application likely uses BinaryFormatter (if .NET) or ObjectInputStream (if Java) without a whitelist of allowed types.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code pattern is hypothetical but typical for deserialization flaws:

Vulnerable Code (C# .NET Example):

// Vulnerable: Direct deserialization without type validation
using (FileStream fs = new FileStream(filePath, FileMode.Open))
{
    BinaryFormatter formatter = new BinaryFormatter();
    // Deserializes any object in the stream
    var obj = formatter.Deserialize(fs);
    // Process obj...
}

Patched Code (Hypothetical):

// Patched: Use a safe deserialization approach
using (FileStream fs = new FileStream(filePath, FileMode.Open))
{
    // Use JSON or XML with schema validation
    var settings = new JsonSerializerSettings
    {
        TypeNameHandling = TypeNameHandling.None, // Disable type handling
        SerializationBinder = new SafeBinder() // Custom binder to whitelist types
    };
    var obj = JsonConvert.DeserializeObject<SafeType>(fs, settings);
}

Key Differences:

  • Vulnerable code uses BinaryFormatter.Deserialize() which automatically instantiates any type.
  • Patched code uses a safe serializer (e.g., Newtonsoft.Json) with type handling disabled and a custom binder that only allows known safe types.

Exploitation & Lab Setup

Red Team

Objective: Achieve arbitrary code execution on a target running DASYLab by crafting a malicious .DSB file.

Lab Setup:

  • Target: Windows 10/11 with DASYLab installed (any version).
  • Attacker: Kali Linux or Windows with a .NET development environment.
  • Tools: ysoserial.net (for .NET deserialization payloads), custom C# compiler, or Python for file crafting.

Exploitation Steps:

  1. Identify Gadget Chain: Use ysoserial.net to generate a payload for a known gadget chain (e.g., TextFormattingRunProperties, ActivitySurrogateSelector).
    ysoserial.exe -f BinaryFormatter -g TextFormattingRunProperties -c "calc.exe" -o raw > payload.bin
    
  2. Craft Malicious DSB File: DASYLab .DSB files are likely serialized .NET objects. Embed the payload into a valid DSB structure. A simple approach is to replace a serialized object in a legitimate DSB file with the malicious payload.
    # Python script to inject payload into DSB
    import struct
    with open('legitimate.dsb', 'rb') as f:
        data = f.read()
    # Find the serialized object boundary (simplified)
    payload = open('payload.bin', 'rb').read()
    # Replace the object data (requires reverse engineering of DSB format)
    malicious_data = data[:offset] + payload + data[offset+len(payload):]
    with open('malicious.dsb', 'wb') as f:
        f.write(malicious_data)
    
  3. Deliver File: Send the malicious .DSB via email, USB, or a compromised website.
  4. Trigger: Victim opens the file in DASYLab. The deserialization executes calc.exe (or a reverse shell).

Expected Result: Command execution in the context of the DASYLab process.

Blue Team

Detection & Response:

  • Monitor for .DSB file openings: Use Sysmon Event ID 11 (FileCreate) and Event ID 1 (ProcessCreate) to detect when DASYLab opens a .DSB file.
  • Network Monitoring: Look for outbound connections from DASYLab.exe to unknown IPs (potential reverse shell).
  • Endpoint Detection: Deploy YARA rules (see Detection Engineering) to scan .DSB files for known deserialization payload signatures.
  • User Awareness: Train users not to open .DSB files from untrusted sources.

Hunting Queries:

  • Splunk: index=windows sourcetype=WinEventLog:Microsoft-Windows-Sysmon/Operational EventCode=1 Image=*DASYLab.exe CommandLine=*.dsb
  • ELK: event.code: 1 AND process.name: DASYLab.exe AND process.args: *.dsb

Indicators of Compromise (IOCs)

Type Indicator Description
File Hash e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 Example malicious DSB file (SHA-256)
Process DASYLab.exe spawning cmd.exe, powershell.exe, or calc.exe Unusual child processes
Network Outbound connection to 192.168.1.100:4444 Potential reverse shell
Registry HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Malicious Persistence via registry
File *.dsb with embedded serialized objects containing System.Diagnostics.Process Suspicious DSB content

Detection Engineering

YARA Rule

rule CVE_2025_9188_DASYLab_Deserialization {
    meta:
        description = "Detects malicious DSB files exploiting CVE-2025-9188"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-9188"
    strings:
        $s1 = "System.Diagnostics.Process" ascii wide nocase
        $s2 = "System.Runtime.Serialization" ascii wide nocase
        $s3 = "BinaryFormatter" ascii wide nocase
        $s4 = "TextFormattingRunProperties" ascii wide nocase
        $s5 = "ActivitySurrogateSelector" ascii wide nocase
    condition:
        uint32be(0) == 0x1F8B0800 or // GZip magic
        uint32be(0) == 0x00000000 or  // Raw serialization
        filesize < 10MB and
        (any of ($s*) )
}

Sigma Rule

title: CVE-2025-9188 DASYLab Deserialization Exploit
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects suspicious child processes spawned by DASYLab.exe
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-9188
author: Valters IT
date: 2025-04-10
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        ParentImage|endswith: 'DASYLab.exe'
        Image|endswith:
            - 'cmd.exe'
            - 'powershell.exe'
            - 'wscript.exe'
            - 'cscript.exe'
            - 'calc.exe'
    condition: selection
falsepositives:
    - Legitimate use of command line tools by DASYLab (rare)
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET $PORT (msg:"CVE-2025-9188 DASYLab Potential Reverse Shell"; flow:to_server,established; content:"|16 03|"; depth:2; content:"|01 00|"; within:2; content:"|00 00|"; within:2; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable Deserialization: If possible, configure DASYLab to not open .DSB files automatically. Use a file whitelist.
  2. User Training: Educate users to avoid opening .DSB files from untrusted sources.
  3. Network Segmentation: Isolate DASYLab hosts from critical networks to limit lateral movement.
  4. Application Control: Use AppLocker or Windows Defender Application Control to block execution of untrusted binaries spawned by DASYLab.

Long-Term Fix:

  • Vendor Patch: Await an official patch from Digilent. Contact vendor for updates.
  • Alternative Software: Consider migrating to a different data acquisition software that uses safe serialization (e.g., JSON or XML with schema validation).
  • Custom Mitigation: Develop a wrapper that scans .DSB files for known deserialization payloads before opening.

Workaround:

  • Use a file integrity monitor to detect modifications to .DSB files.
  • Implement a custom deserialization binder in a proxy DLL (if source code is available) to whitelist allowed types.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-9188/ · 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.