CVE-2025-9141

[vllm] Remote code execution in the vllm tool call parser for Qwen3-Coder

Verified by Precogs Threat Research
Last Updated: Aug 20, 2025
Base Score
8HIGH

Executive Summary

CVE-2025-9141 is a high severity vulnerability affecting appsec, ai-code. It is classified as Unsafe Deserialization. Ensure your systems and dependencies are patched immediately to mitigate exposure risks.

Precogs AI Insight

"The fundamental weakness here is traced back to within ### Summary, allowing bypassed validation checks on external interactions. In practice, this allows unauthorized actors to escalate their own privileges to administrative levels without proper credentials. Precogs AI Analysis Engine utilizes semantic code analysis to harden the environment against lateral movement."

Exploit Probability (EPSS)
Unavailable (N/A)
Public POC
Undisclosed
Exploit Probability
Elevated (52%)
Public POC
Available
Affected Assets
appsecai codeCWE-502

What is this vulnerability?

CVE-2025-9141 is categorized as a critical Code Injection / RCE flaw. Based on our vulnerability intelligence, this issue occurs when the application fails to securely handle untrusted data boundaries.

Summary An unsafe deserialization vulnerability allows any authenticated user to execute arbitrary code on the server if they are able to get the mode.

This architectural defect enables adversaries to bypass intended security controls, directly manipulating the application's execution state or data layer. Immediate strategic intervention is required.

Risk Assessment

MetricValue
CVSS Base Score8 (HIGH)
Vector StringN/A
PublishedAugust 21, 2025
Last ModifiedAugust 21, 2025
Related CWEsCWE-502

Impact on Systems

Remote Code Execution: Attackers achieve arbitrary command execution within the context of the application server.

Privilege Escalation: Initial code execution can be exploited to pivot and elevate privileges across the network.

Persistent Backdoors: Attackers can bind reverse shells, modify source files, or inject persistent access mechanisms.

How to fix this issue?

Implement the following strategic mitigations immediately to eliminate the attack surface.

1. Remove Dynamic Evaluation Completely eliminate the use of dynamic evaluation functions (eval(), exec(), system()) on untrusted input.

2. Sandboxing If dynamic execution is an absolute business requirement, isolate the execution environment in tightly constrained, non-networked sandboxes (e.g., restricted WebAssembly or isolated containers).

3. Network Segmentation Restrict outbound traffic from the application server (egress filtering) to prevent reverse shell connections.

Vulnerability Signature

// Vulnerable Node.js Execution
const exec = require('child_process').exec;
const user_domain = req.query.domain;
// VULNERABLE: Injecting user input directly into system shell commands
exec('ping -c 4 ' + user_domain, (error, stdout, stderr) =\> \{
    res.send(stdout);
\});

// EXPLOIT PAYLOAD: precogs.ai ; cat /etc/passwd

References and Sources

Vulnerability Code Signature

Attack Data Flow

StageDetail
SourceSerialized object from untrusted network traffic
VectorObject instantiation during deserialization
SinkObjectInputStream.readObject() or similar
ImpactRemote Code Execution (RCE) via gadget chains

Vulnerable Code Pattern

// ❌ VULNERABLE: Unsafe deserialization
public Object deserialize(byte[] data) throws Exception {
    ByteArrayInputStream bais = new ByteArrayInputStream(data);
    ObjectInputStream ois = new ObjectInputStream(bais);
    // Taint sink: instantiates arbitrary classes
    return ois.readObject();
}

Secure Code Pattern

// ✅ SECURE: Type-restricted deserialization
public Object deserialize(byte[] data) throws Exception {
    ByteArrayInputStream bais = new ByteArrayInputStream(data);
    // Use ValidatingObjectInputStream (Apache Commons IO)
    ValidatingObjectInputStream ois = new ValidatingObjectInputStream(bais);
    ois.accept(SafeClass.class);
    // Sanitized instantiation
    return ois.readObject();
}

How Precogs Detects This

Precogs AI Analysis Engine natively intercepts unsafe deserialization sinks to prevent remote code execution via object instantiation.\n

Related Vulnerabilitiesvia CWE-502

Is your system affected?

Precogs AI detects CVE-2025-9141 in compiled binaries, LLMs, and application layers — even without source code access.