nodeSolidServer / nodeSolidServer/node-solid-server
Information exposure through Link header by guessing an allocated URI
まだ誰も着手していません。
- 主要言語
- JavaScript
- スター
- 1.8k
- フォーク
- 308
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
NSS responds to unauthenticated and unauthorized GET requests to /foo/bar (that exists) by including the HTTP header:
Link: <bar.acl>; rel="acl", <bar.meta> rel="describedBy", <http://www.w3.org/ns/ldp#Resource>; rel="type"
For GET requests to non-existing resources eg. /foo/baz, the response doesn't include the HTTP Link header.
Thus, the security consideration: existence of a resource can potentially be known by guessing or anticipating an allocated URI.
There are use cases where the server may want to reveal the information in the Link header in the response. If the server doesn't make the distinction between intentionally revealing and unintentionally exposing, the server is encouraged to minimize information leaking. So, in the case here, it should be consistent by omitting the Link header for unauthenticated and unauthorized requests.
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
既存パスと存在しないパスについて、GET リクエストの処理と Link ヘッダーの生成を追跡します。/foo/bar と /foo/baz に対する未認証リクエストと未認可リクエストを比較します。完了条件は、これらの拒否されたリクエストで Link ヘッダーが一貫して存在せず、意図された情報開示の挙動がテストでカバーされていることです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- javascript
- 領域
- backend, security
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 38/100