Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

特定のユーザIDが実質的に利用不能 #474

Closed
kurochan opened this issue Dec 1, 2022 · 3 comments
Closed

特定のユーザIDが実質的に利用不能 #474

kurochan opened this issue Dec 1, 2022 · 3 comments
Labels

Comments

@kurochan
Copy link

kurochan commented Dec 1, 2022

事象

Zennのアプリケーションサーバとして利用されていると思われるCloud Runの仕様により、特定のユーザIDが実質的に利用不能となっている

発生したページのURL

事象が発生する例です。

発生した画面のスクリーンショット

image

image

再現方法

  • healthz , statusz , _ahabcdef などのユーザIDを登録する。
    • 実際には試していません

環境

全ての環境

背景

こちらの記事を拝見し、ZennのバックエンドにCloud Runを利用されていると推察いたしました。
https://zenn.dev/team_zenn/articles/migrate-appengine-to-cloudrun

Cloud Runには以下のURLのパスが 予約済み というknown issueが存在します。

  • /eventlog
  • /_ah/ で始まるパス。
  • 末尾が z のパス。

https://cloud.google.com/run/docs/issues?hl=ja#ah

ZennのURLパスのトップ階層はユーザなどのIDのパスパラメータとして利用されているため、この仕様の影響で特定の規則のユーザIDが実質的に利用不能となってしまう不具合があるのではないかと推測しています。

末尾が z のパス

などは、任意のユーザIDで末尾がzのものは登録できないということになってしまうので、影響が大きいかもしれません。
例示したURLは少なくともアクセス不能に見えますが、それ以外はZennの404ページが表示されたので、実際にはそこまで厳しい制約ではないのかもしれませんが、ドキュメント的には保証されていない挙動となってしまうかもしれません。

/_ah/ で始まるパス

こちらは適当に試した限りは _ah で始まるものは一律エラーのように見受けられました。

(脆弱性ではないと個人的に判断したのでpublicな場に投稿させて頂きましたが、もしもセンシティブな場合は削除していただいても構いません 🙇 )

@kurochan kurochan added the bug label Dec 1, 2022
@uttk-dev
Copy link

uttk-dev commented Dec 2, 2022

@kurochan

報告ありがとうございます。開発チームに持ち帰って検討したいと思いますが、対応に時間が掛かる可能性がありますので、その点をご留意頂ければと思います。

よろしくお願いします。

@cm-wada-yusuke
Copy link
Member

こちらご連絡ありがとうございました。

もともと、システム的に登録不可能とするユーザー名のリストを保持しておりましたので、今回ご提示いただいたユーザー名の候補をそのリストに追加することでユーザー登録できないよう対処しました。

ただ、おっしゃるように、末尾がzのパスについては、一律禁止することは現実的に難しく、発見ベースでリストに追加してくしかないかな、と考えています。

以下は完全に個人の感想ですが、Cloud Run におかれましては トップレベルではなく /_ah/ などにシステムパスを展開してくれると嬉しいですね。何か事情があるのだろうは思いますが…

@cm-igarashi-ryosuke
Copy link
Member

cm-igarashi-ryosuke commented Dec 6, 2022

@kurochan 予約されているパスでusernameを登録できないよう制限しました。ご報告ありがとうございました。感謝です 🙇

(コメント被りました)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants