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 摘要。