☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-7698

CVE-2025-7698 Out-of-Bounds Access in Canon
📅 PUBLISHED: 2025-09-29 00:47 UTC 🔄 UPDATED: 2026-09-23 20:28 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
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.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-7698 is a high-severity out-of-bounds read vulnerability affecting multiple Canon printer drivers, including Generic Plus PCL6, UFR II, LIPS4, LIPSLX, PS, PCL6, FAX, and CARPS2. The flaw resides in the print processing component, allowing an attacker to trigger a memory read beyond allocated buffers when a specially crafted print job is processed. This can lead to information disclosure (leakage of sensitive memory contents) and potential denial of service (crash of the print spooler). The CVSS score of 5.9 reflects a local attack vector with low complexity, requiring user interaction (e.g., printing a malicious document). No public exploit code or proof-of-concept is currently available, and no official patch has been released. The EPSS score of 0.0% indicates low exploitation likelihood in the wild, but the risk remains significant for environments using these drivers.

⚡ 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

  • Attack Vector (AV): Local (L) – The attacker must have local access to the system or be able to send a print job locally.
  • Attack Complexity (AC): Low (L) – No special conditions required; the vulnerability is easily triggered.
  • Privileges Required (PR): None (N) – No authentication needed to send a print job.
  • User Interaction (UI): Required (R) – The victim must print a malicious document.
  • Scope (S): Unchanged (U) – The vulnerability does not affect other components.
  • Confidentiality (C): High (H) – Memory contents can be leaked.
  • Integrity (I): None (N) – No data modification.
  • Availability (A): High (H) – Can cause denial of service.
  • Base Score: 5.9 (Medium)

Threat Level: Medium. While the CVSS is moderate, the potential for information disclosure and DoS in enterprise printing environments elevates the risk. The lack of a patch and the wide deployment of Canon drivers make this a concern for targeted attacks.

Deep Dive & Mechanics

The vulnerability is an out-of-bounds read (CWE-125) in the print processing module of multiple Canon printer drivers. When a print job is submitted, the driver parses PDL (Page Description Language) commands. A malformed command can cause the driver to read memory beyond the intended buffer, potentially leaking sensitive data such as encryption keys, passwords, or other documents in the print queue.

Root Cause: Insufficient bounds checking on input data during parsing of print job metadata or rasterization commands. The driver does not validate the length of certain fields before reading them, leading to a read past the end of an allocated buffer.

Attack Vector: An attacker crafts a malicious document (e.g., a PDF or XPS file) containing a specially crafted PDL command. When the victim prints this document using a vulnerable Canon driver, the driver processes the command and triggers the out-of-bounds read.

Impact:

  • Information Disclosure: Memory contents (including other print jobs, system data) may be leaked to the attacker via the printed output or error messages.
  • Denial of Service: The read may cause a segmentation fault, crashing the print spooler and preventing further printing.

Vulnerable vs. Patched Code

No patched code is available. The vulnerable code is in the print processing DLLs (e.g., PCL6.dll, UFRII.dll, LIPS4.dll). The fix would involve adding bounds checks before memory reads. A hypothetical patch would look like:

Vulnerable (C++):

void ParseCommand(const char* buffer, size_t size) {
    // No bounds check
    int length = *(int*)(buffer + 4);
    char* data = (char*)malloc(length);
    memcpy(data, buffer + 8, length); // Out-of-bounds read if length > size-8
}

Patched:

void ParseCommand(const char* buffer, size_t size) {
    if (size < 8) return;
    int length = *(int*)(buffer + 4);
    if (length < 0 || length > size - 8) return; // Bounds check
    char* data = (char*)malloc(length);
    memcpy(data, buffer + 8, length);
}

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A Windows machine with a vulnerable Canon printer driver installed.
  • Ability to send a print job (e.g., via print command or Python script).

Exploitation Steps:

  1. Identify the vulnerable driver version (e.g., Generic Plus PCL6 v1.0.0).
  2. Craft a malicious PDL command that triggers an out-of-bounds read. For example, a PCL6 command with an oversized length field.
  3. Embed this command in a PDF or XPS document using a tool like pdf-parser.py or pcl6-tool.
  4. Send the document to the victim and convince them to print it (social engineering).
  5. Monitor the printed output or error logs for leaked memory contents.

Example Python script to generate a malicious PCL6 job:

import struct

# Craft a PCL6 command with a large length field
command = b'\x1B%-12345X@PJL ENTER LANGUAGE=PCL6\r\n'
command += b'\x1B%1B'  # PCL6 header
command += b'\x00\x00\x00\x00'  # Placeholder
length = 0xFFFF  # Out-of-bounds length
command += struct.pack('<I', length)
command += b'A' * 100  # Padding

with open('malicious.pcl', 'wb') as f:
    f.write(command)

Blue Team

Detection:

  • Monitor print spooler logs for crashes or unusual error messages.
  • Use Sysmon to detect process creation anomalies (e.g., spoolsv.exe crashing).
  • Deploy YARA rules to scan incoming print jobs for oversized fields.

Mitigation:

  • Disable unnecessary printer drivers.
  • Use application whitelisting to prevent unknown drivers.
  • Isolate print servers in a segmented network.

Indicators of Compromise (IOCs)

  • File Hashes: (None available, but monitor for suspicious PCL/PDF files)
  • Process Anomalies: spoolsv.exe crashes or high memory usage.
  • Network Traffic: Unusual print jobs with large metadata fields.
  • Registry: Changes to HKLM\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3\Canon*
  • Logs: Event ID 7031 (Print Spooler service terminated unexpectedly) or 1000 (Application Error) referencing PCL6.dll or UFRII.dll.

Detection Engineering

YARA Rule

rule CVE_2025_7698_Canon_Printer_Driver_OOB_Read {
    meta:
        description = "Detects malicious PCL6/UFRII print jobs exploiting CVE-2025-7698"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-7698"
    strings:
        $pcl6_header = { 1B 25 2D 31 32 33 34 35 58 }
        $ufr_header = { 1B 25 2D 31 32 33 34 35 58 40 50 4A 4C 20 45 4E 54 45 52 20 4C 41 4E 47 55 41 47 45 3D 55 46 52 49 49 }
        $large_length = { FF FF 00 00 }  // 0xFFFF length field
    condition:
        ($pcl6_header or $ufr_header) and $large_length
}

Sigma Rule

title: Canon Printer Driver Out-of-Bounds Read Exploitation
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects crashes or anomalies in Canon printer drivers (PCL6, UFRII, LIPS4) indicative of CVE-2025-7698 exploitation.
author: Valters IT
logsource:
    product: windows
    service: application
detection:
    selection:
        EventID: 1000
        ProviderName: 'Application Error'
        Data|contains:
            - 'PCL6.dll'
            - 'UFRII.dll'
            - 'LIPS4.dll'
    condition: selection
falsepositives:
    - Legitimate driver crashes due to other bugs
level: high

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET 9100 (msg:"CVE-2025-7698 Canon Printer Driver OOB Read Attempt"; flow:to_server; content:"|1B 25 2D 31 32 33 34 35 58|"; offset:0; depth:9; content:"|FF FF 00 00|"; distance:0; within:4; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable vulnerable drivers if not essential: Remove or disable Generic Plus PCL6, UFR II, LIPS4, LIPSLX, PS, PCL6, FAX, and CARPS2 drivers.
  2. Restrict print job submission to trusted users only via Group Policy.
  3. Enable print spooler auditing to log all print jobs.

Long-term Fix:

  • Monitor Canon’s security advisory page for an official patch.
  • Apply vendor updates as soon as they are released.
  • Consider using alternative printer drivers (e.g., Microsoft standard drivers) if possible.

Workaround:

  • Use a print server with a non-vulnerable driver to sanitize print jobs.
  • Implement network segmentation to isolate printers from critical systems.

Valters IT
Securing Digital Frontiers

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