CVE-2025-14236
Executive Summary
CVE-2025-14236 is a critical buffer overflow vulnerability discovered in the Address Book attribute tag processing component of multiple Canon Small Office Multifunction Printers. The flaw resides in the firmware of devices sold in Japan, the US, and Europe, including the Satera LBP670C Series, Satera MF750C Series, Color imageCLASS LBP630C, Color imageCLASS MF650C Series, imageCLASS LBP230 Series, imageCLASS X LBP1238 II, imageCLASS MF450 Series, imageCLASS X MF1238 II, imageCLASS X MF1643i II, imageCLASS X MF1643iF II, i-SENSYS LBP630C Series, i-SENSYS MF650C Series, i-SENSYS LBP230 Series, 1238P II, 1238Pr II, i-SENSYS MF450 Series, i-SENSYS MF550 Series, 1238i II, 1238iF II, imageRUNNER 1643i II, and imageRUNNER 1643iF II, all running firmware version v06.02 and earlier.
An attacker on the same network segment can exploit this vulnerability to trigger a denial of service (unresponsive device) or execute arbitrary code. The vulnerability is currently unpatched, and no public proof-of-concept (PoC) or exploit code has been released. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the potential impact is severe due to the ability to execute arbitrary code on network-connected printers.
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.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a firmware-level issue in Canon printers. However, organizations should review their printer firmware supply chain and ensure that only trusted firmware images are deployed.
CVSS Breakdown & Threat Level
The CVSS score is listed as 0.0, which is likely a placeholder or unassigned. Based on the vulnerability description, a reasonable CVSS v3.1 vector would be:
- Attack Vector (AV): Adjacent Network (A) – The attacker must be on the same network segment.
- 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 vulnerability affects only the printer.
- Confidentiality (C): High (H) – Arbitrary code execution can lead to data exfiltration.
- Integrity (I): High (H) – Code execution can modify printer settings or firmware.
- Availability (A): High (H) – Denial of service is possible.
Estimated CVSS Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Estimated Base Score: 8.8 (High)
Threat Level: High. While no active exploitation is reported, the ability to execute arbitrary code on network-connected printers poses a significant risk to enterprise environments.
Deep Dive & Mechanics
The vulnerability is a classic stack-based buffer overflow (CWE-121) in the Address Book attribute tag processing routine. The printer firmware parses incoming network packets (likely via protocols like SNMP, HTTP, or proprietary print protocols) that contain Address Book data. When processing attribute tags, the software fails to validate the length of the input before copying it into a fixed-size stack buffer.
Attack Vector: An attacker on the same network segment sends a specially crafted packet to the printer's IP address. The packet contains an oversized Address Book attribute tag that overflows the buffer, overwriting the return address and other critical stack data.
Impact: Successful exploitation allows the attacker to:
- Cause a denial of service (printer becomes unresponsive).
- Execute arbitrary code with the privileges of the printer's firmware (typically root or system level).
- Potentially pivot to other devices on the network, exfiltrate print jobs, or install persistent malware.
Affected Products: The vulnerability affects a wide range of Canon small office multifunction printers sold in Japan, the US, and Europe. The full list includes:
- Satera LBP670C Series
- Satera MF750C Series
- Color imageCLASS LBP630C
- Color imageCLASS MF650C Series
- imageCLASS LBP230 Series
- imageCLASS X LBP1238 II
- imageCLASS MF450 Series
- imageCLASS X MF1238 II
- imageCLASS X MF1643i II
- imageCLASS X MF1643iF II
- i-SENSYS LBP630C Series
- i-SENSYS MF650C Series
- i-SENSYS LBP230 Series
- 1238P II
- 1238Pr II
- i-SENSYS MF450 Series
- i-SENSYS MF550 Series
- 1238i II
- 1238iF II
- imageRUNNER 1643i II
- imageRUNNER 1643iF II
All running firmware version v06.02 and earlier.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern. The vulnerable function likely looks like this:
void process_address_book_tag(char *input) {
char buffer[256];
// Vulnerable: no bounds checking
strcpy(buffer, input);
// ... process buffer
}
A patched version would include bounds checking:
void process_address_book_tag(char *input) {
char buffer[256];
// Patched: limit copy size
strncpy(buffer, input, sizeof(buffer) - 1);
buffer[sizeof(buffer) - 1] = '\0';
// ... process buffer
}
Exploitation & Lab Setup
Red Team
Objective: Exploit the buffer overflow to execute arbitrary code on the printer.
Lab Setup:
- Obtain a vulnerable Canon printer (e.g., Satera LBP670C with firmware v06.02).
- Set up a network segment with the printer and an attacker machine (Kali Linux).
- Identify the printer's IP address using
nmap -sn 192.168.1.0/24.
Exploitation Steps:
- Craft a malicious packet with an oversized Address Book attribute tag. The payload should include shellcode to spawn a reverse shell or execute a command.
- Use a tool like
scapyor a custom Python script to send the packet to the printer's IP on the appropriate port (e.g., port 161 for SNMP, port 80 for HTTP, or port 9100 for raw printing). - Trigger the overflow and gain code execution.
Example Python script (conceptual):
import socket
target_ip = "192.168.1.100"
target_port = 9100 # Example: raw printing port
# Craft payload: buffer overflow with shellcode
payload = b"A" * 256 # Fill buffer
payload += b"BBBB" # Overwrite return address
payload += b"\x90" * 100 # NOP sled
payload += b"\xcc" * 50 # Shellcode placeholder
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
sock.send(payload)
sock.close()
Note: No public exploit code is available. This is a conceptual example.
Blue Team
Objective: Detect and mitigate exploitation attempts.
Detection:
- Monitor network traffic for oversized packets to printer ports (e.g., SNMP, HTTP, raw printing).
- Use intrusion detection systems (IDS) like Snort or Suricata with custom rules.
- Enable logging on the printer (if supported) to capture anomalous events.
Mitigation:
- Isolate printers on a separate VLAN with strict access controls.
- Disable unnecessary services (e.g., SNMP, HTTP) on the printer.
- Apply network segmentation to limit exposure.
- Monitor for firmware updates from Canon and apply patches when available.
Indicators of Compromise (IOCs)
- Network Traffic: Unusually large packets to printer ports (e.g., > 1024 bytes on port 9100).
- Printer Behavior: Printer becomes unresponsive or reboots unexpectedly.
- Logs: Error messages related to buffer overflow or memory corruption in printer logs.
- File Hashes: Malicious firmware or payload files (if any are discovered).
- IP Addresses: Attacker IPs on the same network segment.
Detection Engineering
YARA Rule
rule CVE_2025_14236_Canon_Printer_Buffer_Overflow {
meta:
description = "Detects potential exploit attempts for CVE-2025-14236 in Canon printers"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-14236"
strings:
$s1 = "AddressBook" ascii wide nocase
$s2 = "attribute" ascii wide nocase
$s3 = { 41 41 41 41 } // Pattern of 'AAAA' indicating overflow
condition:
$s1 and $s2 and #s3 > 10
}
Sigma Rule
title: Canon Printer Buffer Overflow Attempt
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects network traffic indicative of CVE-2025-14236 exploitation
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-14236
logsource:
category: network
product: suricata
detection:
selection:
dest_port:
- 161
- 80
- 9100
length: > 1024
condition: selection
falsepositives:
- Legitimate large print jobs
level: high
Suricata Rule
alert tcp $HOME_NET any -> $EXTERNAL_NET 161,80,9100 (msg:"CVE-2025-14236 Canon Printer Buffer Overflow Attempt"; flow:to_server; content:"|41 41 41 41|"; depth:256; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Isolate printers on a separate VLAN with strict firewall rules. Only allow necessary traffic from trusted sources.
- Disable Unnecessary Services: Turn off SNMP, HTTP, and other management interfaces if not required.
- Monitor Logs: Enable and review printer logs for signs of exploitation.
- Apply Patches: Check Canon's support website regularly for firmware updates. Apply patches as soon as they are released.
Long-Term Measures:
- Vendor Communication: Contact Canon support to request a timeline for a firmware patch.
- Security Hardening: Implement printer security best practices, such as changing default passwords, disabling unused protocols, and using encrypted communication (e.g., HTTPS, SNMPv3).
- Incident Response Plan: Update incident response procedures to include printer compromise scenarios.
- Regular Audits: Conduct periodic security assessments of network-connected devices.
Workaround: If patching is not possible, consider replacing vulnerable printers with newer models that have updated firmware.
Valters IT