首页 网络安全 正文
  • 本文约2142字,阅读需11分钟
  • 33
  • 0

invokeai受影响版本中的CVE-2025-6237漏洞

摘要

栋科技漏洞库关注到在 invokeai 版本 v6.0.0a1 及以下版本中存在一个漏洞,漏洞现在已经被追踪为CVE-2025-6237,CVSS 3.X评分9.8。

InvokeAI 是一个开源项目,该项目提供一个简化的过程,具有各种新功能和选项,从而可以帮助使用 Stable Diffusion 模型生成图像过程。

InvokeAI 支持文本到图像和图像到图像生成及各种图像处理任务,如修复、外绘制、嵌入等,可在 Windows、Mac 和 Linux 机器上运行。

一、基本情况

InvokeAI 是基于 Stable Diffusion 模型的开源AI 图像生成工具,提供文本或图像提示生成逼真图像的功能,支持图像修复、扩展处理操作。

invokeai受影响版本中的CVE-2025-6237漏洞

InvokeAI提供行业领先的 Web 界面、交互式命令行界面,充当多种商业产品的基础,使用最新 AI 驱动技术生成和创建令人惊叹视觉媒体。

栋科技漏洞库关注到在 invokeai 版本 v6.0.0a1 及以下版本中存在一个漏洞,漏洞现在已经被追踪为CVE-2025-6237,CVSS 3.X评分9.8。

二、漏洞分析

CVE-2025-6237漏洞是在 invokeai 版本 v6.0.0a1 及以下版本中存在的一个安全漏洞,该漏洞会对机密性、完整性和可用性产生重大影响。

通过调用ai/invokeai的 GET /api/v1/images/download/{bulk_download_item_name} 端点,执行路径遍历和任意文件删除完整的系统文件。

利用该漏洞,通过操纵文件名参数,攻击者可以读取和删除服务器上的任何文件,包括关键的系统文件,如SSH密钥、数据库和配置文件。

invokeai v6.0.0a1 以下版本有个用于批量下载zip文件的端点,通过对文件名参数进行一些操作,通过此端点读取和删除服务器上的文件。

任何人都可以读取和删除invokeai服务器上的任何文件,可以读取和删除关键/敏感系统文件,如ssh密钥、sqlite数据库、配置文件和模型。

三、POC概念验证

管理员已设置登录后刷新可查看

2、Response:

管理员已设置登录后刷新可查看

上述请求将在响应中返回C:/Bugs/test.txt的内容,并在返回响应后删除C:/Bugs/test.txt处的文件。

请注意,根据您的设置,您需要编辑有效载荷(减少..%5C的数量,使其到达正确的位置)。

3、发生次数

@images_router.api_route(
    "/download/{bulk_download_item_name}",
    methods=["GET"],
    operation_id="get_bulk_download_item",
    response_class=Response,
    responses={
        200: {
            "description": "Return the complete bulk download item",
            "content": {"application/zip": {}},
        },
        404: {"description": "Image not found"},
    },
)
async def get_bulk_download_item(
    background_tasks: BackgroundTasks,
    bulk_download_item_name: str = Path(description="The bulk_download_item_name of the bulk download item to get"),
) -> FileResponse:
    """Gets a bulk download zip file"""
    try:
        path = ApiDependencies.invoker.services.bulk_download.get_path(bulk_download_item_name)

        response = FileResponse(
            path,
            media_type="application/zip",
            filename=bulk_download_item_name,
            content_disposition_type="inline",
        )
        response.headers["Cache-Control"] = f"max-age={IMAGE_MAX_AGE}"
        background_tasks.add_task(ApiDependencies.invoker.services.bulk_download.delete, bulk_download_item_name)
        return response
    except Exception:
        raise HTTPException(status_code=404)

path=ApiDependencies.invoker.services.bulk_download.get_path(bulk_download_item_name)的get_path方法未验证参数检测路径遍历。

我注意到invokeai代码库中还有其他几个文件功能可以检查Windows系统中的路径遍历,所以您可能错过了这种情况。

之后,ApiDependencies.invoker.services.bulk_download.delete被添加到任务中,然后文件也被删除。

因此,我们在同一端点中读取和删除任意文件。

四、影响范围

invokeai < v6.0.0a1 

五、修复建议

invokeai >= v6.0.0a1 

六、参考链接

管理员已设置登录后刷新可查看



扫描二维码,在手机上阅读
评论
更换验证码
友情链接