We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Zennのアプリケーションサーバとして利用されていると思われるCloud Runの仕様により、特定のユーザIDが実質的に利用不能となっている
事象が発生する例です。
healthz
statusz
_ahabcdef
全ての環境
こちらの記事を拝見し、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 で始まるものは一律エラーのように見受けられました。
_ah
(脆弱性ではないと個人的に判断したのでpublicな場に投稿させて頂きましたが、もしもセンシティブな場合は削除していただいても構いません 🙇 )
The text was updated successfully, but these errors were encountered:
@kurochan
報告ありがとうございます。開発チームに持ち帰って検討したいと思いますが、対応に時間が掛かる可能性がありますので、その点をご留意頂ければと思います。
よろしくお願いします。
Sorry, something went wrong.
こちらご連絡ありがとうございました。
もともと、システム的に登録不可能とするユーザー名のリストを保持しておりましたので、今回ご提示いただいたユーザー名の候補をそのリストに追加することでユーザー登録できないよう対処しました。
ただ、おっしゃるように、末尾がzのパスについては、一律禁止することは現実的に難しく、発見ベースでリストに追加してくしかないかな、と考えています。
末尾がzのパス
以下は完全に個人の感想ですが、Cloud Run におかれましては トップレベルではなく /_ah/ などにシステムパスを展開してくれると嬉しいですね。何か事情があるのだろうは思いますが…
/_ah/
@kurochan 予約されているパスでusernameを登録できないよう制限しました。ご報告ありがとうございました。感謝です 🙇
(コメント被りました)
No branches or pull requests
事象
Zennのアプリケーションサーバとして利用されていると思われるCloud Runの仕様により、特定のユーザIDが実質的に利用不能となっている
発生したページのURL
事象が発生する例です。
発生した画面のスクリーンショット
再現方法
healthz
,statusz
,_ahabcdef
などのユーザIDを登録する。環境
全ての環境
背景
こちらの記事を拝見し、ZennのバックエンドにCloud Runを利用されていると推察いたしました。
https://zenn.dev/team_zenn/articles/migrate-appengine-to-cloudrun
Cloud Runには以下のURLのパスが 予約済み というknown issueが存在します。
https://cloud.google.com/run/docs/issues?hl=ja#ah
ZennのURLパスのトップ階層はユーザなどのIDのパスパラメータとして利用されているため、この仕様の影響で特定の規則のユーザIDが実質的に利用不能となってしまう不具合があるのではないかと推測しています。
などは、任意のユーザIDで末尾がzのものは登録できないということになってしまうので、影響が大きいかもしれません。
例示したURLは少なくともアクセス不能に見えますが、それ以外はZennの404ページが表示されたので、実際にはそこまで厳しい制約ではないのかもしれませんが、ドキュメント的には保証されていない挙動となってしまうかもしれません。
こちらは適当に試した限りは
_ah
で始まるものは一律エラーのように見受けられました。(脆弱性ではないと個人的に判断したのでpublicな場に投稿させて頂きましたが、もしもセンシティブな場合は削除していただいても構いません 🙇 )
The text was updated successfully, but these errors were encountered: