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

CVE-2025-65570

CVE-2025-65570 Type Confusion in Jsish
📅 PUBLISHED: 2025-12-29 00:00 UTC 🔄 UPDATED: 2026-10-13 11:58 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.53%
👁️
0.53% probability
13.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: Jsish
CVSS VECTOR BREAKDOWN 9.8
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: H Confidentiality High
I: H Integrity High
A: H Availability High
9.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-65570 is a type confusion vulnerability in Jsish 2.0, a JavaScript interpreter. The flaw occurs during the execution of the OP_NEXT opcode when an instanceof expression uses an array element access as the left-hand operand inside a for-in loop. The instruction implementation leaves an additional array reference on the stack rather than consuming it during OP_INSTANCEOF. Consequently, OP_NEXT interprets the array as an iterator object and reads the iterCmd function pointer from an invalid structure, potentially causing a crash or enabling code execution depending on heap layout. No public exploit or patch is currently available.

⚡ 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

Jsish is a standalone JavaScript interpreter, not distributed via NPM, PyPI, Go, or Ruby registries. However, it may be bundled in custom applications or embedded systems. Users should verify if Jsish is included in their software supply chain and assess the risk accordingly.

CVSS Breakdown & Threat Level

The CVSS score is 0.0, indicating no official assessment has been published. Based on the technical description, the vulnerability could lead to:

  • Confidentiality Impact: High (potential code execution)
  • Integrity Impact: High (potential code execution)
  • Availability Impact: High (potential crash)
  • Attack Vector: Local (requires user interaction to run malicious script)
  • Attack Complexity: High (requires specific heap layout)
  • Privileges Required: None
  • User Interaction: Required (victim must execute crafted script)
  • Scope: Unchanged

Threat Level: High (if exploitable for code execution)

Deep Dive & Mechanics

The vulnerability resides in the Jsish bytecode interpreter, specifically in the handling of OP_NEXT and OP_INSTANCEOF opcodes. When a for-in loop iterates over an array and an instanceof check is performed on an array element access, the interpreter fails to properly manage the stack.

Normal Flow:

  1. OP_INSTANCEOF consumes two operands (object and constructor) and pushes a boolean.
  2. OP_NEXT expects an iterator object on the stack to advance the loop.

Vulnerable Flow:

  1. The instanceof expression uses an array element access (e.g., arr[i] instanceof Array).
  2. The interpreter leaves an extra array reference on the stack after OP_INSTANCEOF.
  3. OP_NEXT then reads this array reference as if it were an iterator object.
  4. The array's structure is misinterpreted, and the iterCmd function pointer is read from an invalid offset.
  5. This can lead to a crash or, with careful heap manipulation, arbitrary code execution.

Root Cause: Incorrect stack management in the bytecode compiler or interpreter for the combination of for-in loops and instanceof with array element access.

Vulnerable vs. Patched Code

No patched version is available. The vulnerable code is in the Jsish interpreter's opcode handlers. A hypothetical patch would involve:

Vulnerable (pseudo-code):

void op_instanceof() {
    // Pops two values, pushes boolean
    // BUT: does not clean up extra array reference
    push(boolean_result);
}

void op_next() {
    // Expects iterator on stack
    // Reads iterCmd from the object
    // If object is actually an array, reads from wrong offset
    iter = pop();
    iter->iterCmd(...);
}

Patched (hypothetical):

void op_instanceof() {
    // Ensure only two values are consumed
    // Clean up any extra references
    push(boolean_result);
    // Additional cleanup if needed
}

void op_next() {
    // Validate that the object is a valid iterator
    iter = pop();
    if (iter->type != ITERATOR_TYPE) {
        // Handle error
    }
    iter->iterCmd(...);
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Jsish 2.0 interpreter
  • Ability to execute a crafted JavaScript file

Exploit Concept:

  1. Craft a JavaScript file that triggers the type confusion.
  2. Manipulate heap layout to control the iterCmd function pointer.
  3. Redirect execution to a shellcode or ROP chain.

Example Trigger Script:

// trigger.js
var arr = [1, 2, 3];
for (var i in arr) {
    // This line triggers the type confusion
    if (arr[i] instanceof Array) {
        // Code execution may occur here
    }
}

Note: No public exploit exists. The above is a conceptual trigger.

Blue Team

Detection:

  • Monitor for unusual crashes in Jsish processes.
  • Look for scripts containing for-in loops with instanceof checks on array elements.
  • Use behavioral analysis to detect abnormal memory access patterns.

Hunting:

  • Search for Jsish version 2.0 in your environment.
  • Review logs for segmentation faults or access violations related to Jsish.

Indicators of Compromise (IOCs)

  • File Hashes: None available (no known exploit samples)
  • Network Indicators: None (local vulnerability)
  • Process Behavior: Jsish process crash with SIGSEGV or similar
  • Log Entries: Segmentation fault in Jsish interpreter at opcode handler

Detection Engineering

YARA Rule

rule CVE_2025_65570_Jsish_Type_Confusion {
    meta:
        description = "Detects Jsish scripts exploiting CVE-2025-65570"
        author = "Valters IT"
        date = "2025-01-01"
        reference = "CVE-2025-65570"
    strings:
        $s1 = "for (var " ascii
        $s2 = " in " ascii
        $s3 = "instanceof" ascii
        $s4 = "[" ascii
        $s5 = "]" ascii
    condition:
        all of ($s1, $s2, $s3) and 1 of ($s4, $s5)
}

Sigma Rule

title: Jsish Type Confusion Exploit Attempt
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects potential exploitation of CVE-2025-65570 in Jsish
author: Valters IT
logsource:
    category: process_creation
    product: linux
detection:
    selection:
        Image|endswith: '/jsish'
        CommandLine|contains: 'instanceof'
    condition: selection
falsepositives:
    - Legitimate use of instanceof in Jsish scripts
level: high

Suricata Rule

alert tcp any any -> any any (msg:"CVE-2025-65570 Jsish Type Confusion Attempt"; flow:to_server,established; content:"instanceof"; content:"for"; content:"in"; within:100; classtype:attempted-user; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate: Remove or restrict access to Jsish 2.0 in production environments.
  2. Monitor: Watch for crashes or unusual behavior in Jsish processes.
  3. Update: No patch available; consider switching to an alternative JavaScript interpreter (e.g., Duktape, QuickJS).

Long-term:

  • Apply memory safety mitigations (ASLR, DEP, stack canaries) to reduce exploitability.
  • Implement input validation and sandboxing for Jsish scripts.
  • Monitor for official patches from the Jsish project.

Workaround:

  • Avoid using for-in loops with instanceof checks on array elements in Jsish scripts.

Valters IT
DevSecOps & Cyber Threat Intelligence

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