nodeSolidServer / nodeSolidServer/node-solid-server

Access allowed despite authentication failure

未关闭
#1,572 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
JavaScript
星标
1.8k
派生
308
PR 合并指标
30 天内没有已合并 PR

描述

Testing version: 5.6.4
Having got an access token using DPoP, if I make a request to a resource but use the token in Bearer mode instead of signing the request with DPoP again, the request succeeds whilst also reporting access denied.

www-authenticate: [Bearer realm="https://inrupt.net", error="access_denied", error_description="Token does not pass the audience allow filter"]

Similarly, if I create a bad DPoP token using the wrong htm I still get the resource despite:

www-authenticate: [Bearer realm="https://inrupt.net", error="invalid_token", error_description="Invalid PoP token"]

Lastly, creating an invalid DPoP token with a different htu gives me:

www-authenticate: [Bearer realm="https://inrupt.net", error="invalid_token", error_description="htu https://solid-test-suite-alice.inrupt.net/private/asdasd does not match https://solid-test-suite-alice.inrupt.net/private/"]

whilst also succeeding with the request.

I was just about to post this when I thought of other tests I could do. I sent an invalid Bearer token and it still worked:

www-authenticate: [Bearer realm="https://inrupt.net", error="invalid_token", error_description="Access token is not a JWT"]

It seems that having an active session overrides all other security considerations as all the above fail when there is no session.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

未指定文件、测试或入口点。使用活动会话在版本 5.6.4 上重现报告的案例:将 DPoP 令牌作为 Bearer 使用、无效的 htm 和 htu 值,以及无效的 Bearer 令牌。完成的标准是每次身份验证失败都会拒绝资源访问,而不是允许请求。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, nodejs
领域
authentication, backend, security
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
25/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。