Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2026-39047 — Epson Printer RAW Protocol Exploit Framework | Kitploit
Tools/GitHubGitHub/j4ck3lsyn-gen2/cve-2026-39047
Embedded Systems SecurityExploit FrameworksIoT SecurityVulnerability AnalysisExploitationPost-ExploitationFuzzingPenetration TestingHardware SecurityRed TeamingPayload DevelopmentBinary Exploitation
631 month agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
GitHubj4ck3lsyn-gen2/cve-2026-39047

CVE-2026-39047

Epson Printer RAW Protocol Exploit Framework

View Repository

CVE-2026-39047: Epson Printer RAW Protocol Exploit Framework

Repository: https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047
PoC Script: poc.py
Mock Target: mock_printer.py
Author: J4ck3LSyN

Overview

This framework demonstrates the CVE-2026-39047 vulnerability - a remote buffer overflow in Epson multifunction printers (notably the L14150 FL27PB) when processing malformed or oversized payloads over the RAW TCP printing protocol (typically port 9100).

Successful exploitation can lead to arbitrary code execution in the printer's embedded environment, enabling:

  • Denial of Service (DoS) / device crash/reboot
  • Command execution / shell access (in staged scenarios)
  • Persistence mechanisms
  • Network pivoting or data exfiltration from compromised print infrastructure

The PoC focuses on transport framing, payload obfuscation, fuzzing techniques, and staged post-exploitation behaviors suitable for red teaming, vulnerability research, and defensive testing.


[!WARNING]

  • This tool can (and will) lead to remote code execution (RCE) on vulnerable printers.
  • Unauthorized use, scanning, or exploitation of systems you do NOT own or have EXPLICIT WRITTEN PERMISSION to test is ILLEGAL and may violate computer fraud and abuse laws (e.g., CFAA in the US), data protection regulations, and organizational policies.
    The author assumes NO LIABILITY for any damage, data loss, service disruption, or legal consequences resulting from the use or misuse of this code.
  • Use only in isolated lab environments with devices you control.
  • Always obtain explicit authorization before any testing.
  • The code includes dry-run and passive modes to aid safe analysis.
    Responsible disclosure and ethical use are strongly encouraged.
  • Patch your devices promptly once vendor updates are available.
  • Printers often sit on internal networks with high trust and limited monitoring, making them attractive attack surfaces.

Vulnerability Details

  • Affected Product: EPSON L14150 (firmware FL27PB and likely similar models)
  • Vector: RAW Printing Service (JetDirect-like) on TCP/9100
  • Impact: Remote Code Execution (RCE) via stack-based buffer overflow
  • CVSS: High severity (details available on NVD)
  • Root Cause: Insufficient bounds checking on incoming print job data/frames in the printer's firmware

References:

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-39047
  • Related advisories and reports (search for the CVE ID)

Features

  • Printer Profiling: Probes target for reachability and basic model/firmware info using PJL commands.
  • Payload Generation:
    • Multiple techniques: cyclic patterns, format strings, NOP sleds, random data.
    • Obfuscation layer (zlib + XOR + Base64 with dynamic keys).
    • Custom transport framing (PRT2 protocol).
  • Delivery Modes:
    • Chunked sending with randomized delays (evasion-friendly).
    • Dry-run mode (no network traffic).
  • Campaign Options:
    • Passive reconnaissance.
    • Fuzzing with variable sizes and techniques.
    • Post-exploitation staging (shell, beacon, persistence simulation).
  • Mock Printer: mock_printer.py for safe local testing (crashes on oversized payloads).

Prerequisites

  • Python 3.8+
  • No external dependencies (uses standard library only: socket, asyncio, argparse, zlib, hashlib, etc.)

Installation / Setup

  1. Clone the repository:

    root@kitploit:~
    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047.git
    cd CVE-2026-39047
    
  2. Make scripts executable:

    root@kitploit:~
    chmod +x poc.py mock_printer.py
    
  3. (Optional) Test with mock printer in one terminal:

    root@kitploit:~
    ./mock_printer.py
    

Usage

root@kitploit:~
./poc.py -t <TARGET_IP> [OPTIONS]

Key Arguments

Examples:

  • Basic baseline test:

    root@kitploit:~
    ./poc.py -t 192.168.1.100
    
  • Fuzzing run:

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --fuzz --techniques cyclic random
    
  • Staged hijack (lab only):

    root@kitploit:~
    ./poc.py -t 192.168.1.100 --hijack --objective shell --dry-run
    
  • Full campaign with mock target:

    root@kitploit:~
    # Terminal 1
    ./mock_printer.py
    
    # Terminal 2
    ./poc.py -t 127.0.0.1 --fuzz --hijack --objective stage1
    

Technical Implementation Highlights

  • Transport: bTransportFrame() wraps payloads with PRT2 header + length.
  • Obfuscation (lObf): zlib compression → dynamic XOR mask (seed-derived) → Base64.
  • Payload Builders: gModernPayload() and gPostPayload() for various patterns and staged commands.
  • Staging: Generates shell commands for runtime directories, config files, and persistence hooks (simulated).
  • Async Delivery: Chunked transmission with jitter for realism.

See inline docstrings and code comments for deeper details.

Detection / Mitigation

  • Detection: Monitor TCP/9100 for anomalous payload sizes, unusual PJL commands, or repeated connections from unexpected sources. Look for PRT2 framing patterns.
  • Mitigation:
    • Apply firmware updates from Epson as soon as available.
    • Network segmentation: Isolate printers from general user networks.
    • Firewall rules limiting port 9100 to trusted print servers.
    • Disable RAW protocol if not required; prefer secure alternatives (IPPS, etc.).
    • Regular firmware auditing and printer inventory.

Disclaimer (Repeated)

This PoC is provided strictly for educational, research, and authorized security testing purposes. Misuse may result in severe consequences. The repository owner is not responsible for any damage caused.

Download Tool
OptionDescription
-t, --targetTarget IP address (required)
-p, --portPort (default: 9100)
--passivePassive recon mode (send probe payloads only)
--fuzzEnable multi-technique fuzzing
--hijackEnable post-exploitation staging
--objectivestage1 | shell | beacon | persistence
--callbackOptional callback identifier/string
--capabilityminimal | busybox | linux (affects command wrapping)
--dry-runGenerate payloads but do not send
--techniquesSpace-separated list (e.g., cyclic format sled random)
--delayDelay between payloads in seconds (default: 1.6)