nodeSolidServer / nodeSolidServer/node-solid-server
Access allowed despite authentication failure
まだ誰も着手していません。
- 主要言語
- 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.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
ファイル、テスト、エントリポイントは指定されていません。アクティブなセッションでバージョン 5.6.4 上の報告されたケースを再現してください: DPoP トークンの Bearer としての使用、無効な htm および htu の値、無効な Bearer トークン。各認証失敗によってリソースへのアクセスが拒否され、リクエストが許可されなければ完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript, nodejs
- 領域
- authentication, backend, security
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100