Authing console 没有校验oauth state参数,存在跨站脚本攻击

  • 貌似Authing console 没有校验oauth state 参数,存在跨站脚本攻击
  • 另外貌似安全管理的安全域(cors)不能对app的认证地址(https://***.authing.cn/oidc/auth)生效。

我写了一个简单的html, 可以很轻松的拿到当前用户的oauth code,从而可以在另外机器上,代替用户登录。另外,请在查看html 源码情况下运行。。

https://zizi.press/authingtest.html

潜在的解决方案,

  1. 校验state参数
  2. 可以对认证地址(https://***.authing.cn/oidc/auth)加上跨域cors的白名单。
1 Like

感谢您的反馈,我们将对此问题进行进一步分析

1 Like

谢谢,如果这是个问题,或者你们已经重现,请告知。我计划把我server上的测试HTML删除。。

您好,感谢您提出地安全隐患。我是 Authing 的技术负责人,方便加您一下微信吗?想和您沟通一下我的微信号是 18614096952 期待您的回复

我们已经修复了此漏洞,控制台回调地址会对 state 进行校验:

貌似还是可以。。

您再试一下。我们目前在 IdP 侧(获取 code 的过程)不会校验安全域,但事实 SP 侧(进入 console 的过程)会对 state 进行校验。进入到 /console/userpool/callback 的时候,如果是伪造请求(没有 state 或 state 为伪造),会提示错误、重新跳转到登录页,防止出现在其他浏览器直接复制链接就能登录的情况。

详情见视频:https://files.authing.co/videos/authing-console-oidc-state-validation.mp4

没有问题了(但是昨晚真的可以),如果可以,可以问下state,您是存在哪里了吗?我并没有在浏览器的ccookies, storage etc 找到。

感谢您的提示。我们会尽快处理