CVE-2025-43856:热门自托管照片平台 Immich 被披露存在 OAuth2 账户劫持漏洞

阅读量12427

发布时间 : 2025-07-15 18:19:18

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/cve-2025-43856-oauth2-account-hijacking-flaw-found-in-immich-a-popular-self-hosted-photo-platform/

译文仅供参考,具体内容表达以及含义原文为准。

在 GitHub 上拥有超过 7 万星标的热门开源自托管照片与视频管理项目 Immich 被披露存在严重漏洞。该漏洞编号为 CVE-2025-43856,CVSSv4,评分为 8.8(高风险),攻击者可利用其 OAuth2 实现机制的缺陷劫持用户账户。

项目维护者在披露中证实:“Immich 因未对 state 参数进行校验,存在通过 OAuth2 被劫持账户的风险。”

Immich 是一款注重隐私的自托管媒体管理工具,用户可借助它备份、整理和查看个人照片与视频。凭借直观的网页界面以及与移动应用的无缝集成,它已成为谷歌相册等云服务的主流替代方案,尤其受到注重隐私保护的用户青睐。

OAuth2 是被广泛采用的身份验证标准,其中包含一项名为 state 参数的关键安全机制,其作用类似跨站请求伪造(CSRF)令牌,用于确保身份提供商(如谷歌)的响应与用户浏览器发起的原始请求相匹配。

遗憾的是,Immich 未对该参数进行验证,这意味着任何 state 值 —— 即便是 state=gibberish 这类无意义的值 —— 都会被接受。

报告解释道:“state 参数类似于 CSRF 令牌…… 在用户登录前,需要验证该参数,以确保登录操作是由当前浏览器会话中的用户主动发起的。”

由于 Immich 将 /user-settings 端点用作 OAuth 重定向 URI,且该页面在用户已通过身份验证时会自动关联账户,这一漏洞的危险性进一步加剧。

这意味着,攻击者可构造一个看似正常的 OAuth 登录流程恶意 URL,但其实际作用是:

  1. 将受害者登录至攻击者的 OAuth 账户
  2. 将受害者的 Immich 账户与攻击者的凭据相关联
  3. 使攻击者能够持续访问受害者的数据

只需一个隐藏的 iframe(内嵌框架)或缩短的链接,即可触发该攻击。

安全公告指出:“若有人的 Immich 实例使用公共 OAuth 提供商(如谷歌),攻击者可…… 在网页中嵌入隐藏的 iframe,甚至只需向受害者发送伪造的 OAuth 登录 URL。”

该漏洞影响所有使用谷歌、GitHub 等公共 OAuth2 提供商或任何通用单点登录(SSO)设置的 Immich 实例,无论这些实例是通过 Cloudflare 托管的自托管实例,还是可直接在网络上访问的实例。

在最糟糕的情况下,攻击者可能劫持管理员账户,将 OAuth 提供商重新配置为自己的,进而通过禁用密码登录、终止所有活跃会话等方式,将其他所有用户拒之门外。

报告警告:“若攻击者通过这种方式劫持管理员账户,他们可能…… 登录任意账户,并通过禁用密码登录的方式将管理员锁定在外。”

所有 1.132.0 版本之前的 Immich 均受该漏洞影响,目前 Immich 1.132.0 版本已修复此漏洞

本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66