CVE-2026-22600CVE-2026-22600是OpenProject项目中一个严重的安全漏洞,CVSS评分高达9.1分。该漏洞存在于OpenProject的工作包PDF导出功能中,攻击者可以利用此漏洞实现本地文件读取(Local File Read)。OpenProject是一款开源的基于Web的项目管理软件,广泛应用于企业项目管理和团队协作场景。漏洞的根本原因在于OpenProject在后端处理图片时使用了存在安全问题的ImageMagick图像处理引擎。当用户上传附件到工作包时,系统会对图片进行缩放和处理操作以用于PDF导出,此时ImageMagick会被调用处理这些图片。攻击者可以通过上传一个特制的SVG文件(伪装成PNG格式)作为工作包附件,当该工作包被导出为PDF时,ImageMagick会尝试处理这个恶意图片文件。由于SVG格式支持嵌入文本内容,攻击者可以在SVG文件中构造特殊的payload,利用ImageMagick的text: coder来读取服务器上的任意本地文件。这意味着攻击者可以读取/etc/passwd等系统敏感文件、项目配置文件,甚至私有项目数据等。该漏洞的利用需要攻击者具有上传附件到可导出PDF的容器(如工作包)的权限,属于低权限攻击场景,但一旦成功,攻击者可以获取服务器上大量敏感信息,对系统安全造成严重威胁。
该漏洞的技术原理涉及多个安全弱点和攻击向量的组合利用。首先,OpenProject在处理上传的图片附件时,没有对文件内容进行充分的格式验证。攻击者可以将包含恶意代码的SVG文件重命名为.png扩展名后上传,系统会将其识别为PNG图片进行处理。其次,在PDF导出流程中,当处理包含图片的工作包时,后端会调用ImageMagick对图片进行缩放和格式转换操作。ImageMagick在处理SVG文件时,会解析其中的文本内容并可能触发text: coder功能。攻击者构造的SVG文件可以包含类似'<image src="text:;/etc/passwd">'的payload,当ImageMagick处理这个SVG时,会尝试读取'/etc/passwd'文件并将其内容作为图片数据处理。最终,这些读取的文件内容会被嵌入到生成的PDF文档中,攻击者通过下载该PDF即可获取服务器上的敏感文件内容。漏洞的利用条件包括:攻击者需要拥有OpenProject的有效账户,并且该账户具有在工作包中上传附件的权限(低权限要求)。整个攻击过程不需要用户交互,可以在受害者不知情的情况下完成。漏洞影响范围涵盖所有OpenProject 16.6.4之前的版本,官方已在16.6.4版本中发布了安全补丁修复此问题。