CVE-2022-50897CVE-2022-50897是mPDF 7.0版本中的一个本地文件包含(Local File Inclusion,LFI)漏洞。该漏洞允许低权限攻击者通过操纵注解(annotation)文件参数,读取服务器上的任意系统文件。mPDF是一个流行的PHP库,用于生成PDF文档,广泛应用于各种Web应用程序中。由于该漏洞不需要用户交互即可利用,且对系统机密性造成高影响,攻击者可以利用此漏洞获取敏感信息,如配置文件、密码凭据、环境变量等。漏洞的CVSS评分为5.5,属于中等严重程度。攻击者通过构造特定的注解内容,利用文件路径规范来触发本地文件包含,最终实现对目标系统的未授权文件访问。此漏洞影响使用mPDF 7.0生成PDF文档的Web应用程序,攻击者可以通过上传恶意构造的PDF或通过参数注入的方式触发漏洞。
mPDF 7.0在处理注解(annotation)时存在本地文件包含漏洞。漏洞源于应用程序对用户输入的文件路径参数缺乏充分的验证和过滤。攻击者可以通过在注解内容中注入文件路径规范(如../或绝对路径),使应用程序包含并读取服务器上的任意文件。攻击流程如下:1)攻击者构造包含恶意文件路径的注解内容;2)使用URL编码或Base64编码对payload进行混淆以绕过基础过滤;3)将构造的数据作为注解文件参数提交到mPDF处理端点;4)服务器端解析注解时,执行文件包含操作;5)被包含文件的内容被返回给攻击者。典型的利用方式是在注解的file参数中指定系统文件路径,如/etc/passwd或应用程序配置文件。mPDF在处理注解时使用include或require语句加载指定文件,但未对路径进行安全校验,导致攻击者可以遍历目录读取敏感文件。该漏洞属于OWASP Top 10中的A03:2021 - Injection类别。