ゴールデンウイーク前後にカジュアルにサイボウズの脆弱性を探してみた   no comments

Posted at 2:38 pm in internet,Security

お久しぶりです。最近は立派な社畜としてのんびり生きています。こんにちは。一度は逃げた猫も、外?何それ?知らんし!とすっかり引きこもっています。

さいきんの我が家

さいきんの我が家

にしむねあさんがカジュアルに脆弱性を見つけてたくさんお金を稼いでいらっしゃるようなので(とはいえ読んだらちっともカジュアルじゃない!騙された!焼肉!)、私もそれに触発されてゴールデンウイーク前後にカジュアルな脆弱性探しにチャレンジしてみました(惜しくもゴールデンウイーク中はゴロゴロしたり猫と遊んでるうちに終わってしまいました)。

で、報告したものの脆弱性と認められずにお金を稼げなかったものがたくさんあったので、それについて書かせていただきます。カジュアルに報告した中で脆弱性と認められたものも実はあったりしましたが、それについては現在進行中のため書くことができません。あしからず。

カジュアルに脆弱性を探したいなあということですが、カジュアルに脆弱性なんて見つけられるわけもないので困ったものです。するとburp proに自動検査の新機能が付いたというニュースが流れてきます。これを使えばなんとかなるような気がしたのでとりあえずターゲットを探さないと… と思ってたらサイボウズからメンテのお知らせが。

以前バグバウンティ合宿に参加したときにお試しクラウド環境を提供されていたんだよな、ということを思い出したのでここにアクセスすることにしますが、迂闊なぼくはもちろんログインパスワードがわかりません。ようやく見つけましたがこれだけでカジュアルを軽く踏み越えていってしまいました。カジュアル終了です。

*

ですが、せっかくログインできたので、各サービスごとにユーザーをいくつか作っていろいろ試してみることにします。するとこれって見れないものが見れるんじゃね? みたいなところがいろいろあって、いくつかの脆弱性? 仕様? みたいなのを見つけたので、そんなのばかりいくつか報告しました。残念なことにburpの新機能は結局使ってません。

報告の結果、いくつかが脆弱性、6つは仕様ということになりました。脆弱性は予想通りというか以前報告して脆弱性だと認められていたものと似たようなもので、これに加えて1つくらい新しいのが認めらたのでよかったなあという感想です。

*

で、この6つですが、他のサイボウズの脆弱性を探している人も同じように仕様? 脆弱性? と思っているかもしれない微妙な項目でもありますので、同じような報告をしてサイボウズの脆弱性報告受付の担当者を疲弊させないためにも情報を公開して共有していきたいと思っています。なお、脆弱性じゃないんだから公開してもいいのは当たり前なのですが、一応社会人的なたしなみとしてサイボウズ側からも公開の許可は得ていますのであしからず。

 

脆弱性だと認められなかったもの

  • フルパスが表示される(ガルーン)

特定のエラーメッセージにおいて、サーバー内のフルパスが表示されるというアレです。2カ所ありました。

よくある対応としては脆弱性だけど報奨金はなしよ、ということで、CVSS値で報奨金が決まるサイボウズはどうするのかと思ってちょっとわくわくしてたのですが(CVSS 0.0だと脆弱性でないということになる)、検証環境として提供しているのはデバッグモードで、フルパスが表示されるのは仕様ということでした。

 

フルパスが表示される

フルパスが表示されるのは脆弱ではない

  • サイボウズOfficeしか使えない権限のユーザーがOfficeに設定されない項目が閲覧できる(サイボウズOffice)

この検証環境では全部のアプリを統括する共通管理画面があり、そこで全体のユーザー設定をすることができます。そこで設定されるユーザープロフィールの一部はサイボウズOfficeには反映されず、サイボウズOfficeしか使えないのユーザーはその部分は見えないということになっています。しかしながら管理画面で設定されるプロフィールのURL(https://subdomain.cybozu-dev.com/users/[user名])に直接アクセスすることでOfficeユーザーに見えないはずのプロフィールを読むことができます。これは仕様だということですので、管理者の人はOfficeだけしか使えないユーザーは読めないだろうと油断しないようにしましょう。

 

Officeの権限しかなくてもここにアクセスすれば情報が見られる

Officeの権限しかなくてもここにアクセスすれば情報が見られる

  • デフォルト設定で、すべてのユーザーがワークフローの運用管理者に設定されている(サイボウズOffice)

サイボウズOfficeではユーザーが誰でも他の人が書いて他の誰かに提出した報告書を(その中には退職届みたいなセンシティブなものも含まれています)読めるということが、去年のバグハンター合宿で多数の人が指摘をしていた記憶がありました。
で、さすがに修正されたのかな?と思って見てみたら(たぶん)基本的な部分で変わっておらず誰でも読み放題でした。機能の問題かと思って調べてみると「ワークフロー」という機能の管理権限がすべてのユーザーに付与されています。確認も含めて報告してみたのですが、予想通り仕様との返事がやって来ました。他の個所は基本的には一般ユーザーに管理権限がないのに(Officeの報告書とワークフローだけが全員に管理権限が与えられている)なぜこの部分だけは管理権限があるのか不思議(というかデフォルト設定に一貫性がないのが問題だと思う)ですが、やはり運用上の仕様ということなのでしょうがないです。

サイボウズOfficeを使っているユーザーの方は、ワークフローから送信するデータに関しては隣にいる人を含めた他の人が(デフォルトでは)読む可能性がある&自分も他の人のデータを読めるということに注意した方がいいでしょう。

 

デフォルトで全員管理者権限を持っている

デフォルトで全員管理者権限を持っている

  • デフォルトのAdministratorアカウントが非公開スペースにアクセスできる(ガルーン)

ガルーンにはスペースというメンバーで共有するためのエリア的なものがあって、公開非公開の設定ができます。非公開のスペースは共有メンバー以外には見えないようになっているのですが、デフォルトのビルトインアカウントであるAdministratorでは直接リンクが張られているわけではないけれど、

https://bogustest.cybozu-dev.com/g/space/top.csp?spid=1

のようにspidを書き換えてアクセスすることができます。もちろん他の人たちが作った非公開スペースに対してなんでもできるようになります。

これも管理者権限を持つ者の仕様だということですので、ガルーンの非公開スペースは管理者に常に監視されている、ということを忘れずに運用していきたいところです。

なお、他の機能に関してAdministratorアカウントでは閲覧することは不可能なはずですが、全権限付与可能なのでいろいろできるのかもしれません。

 

  • ちょっと工夫すれば外部の画像ファイルを読み込ませることができる(Kintone)

Kintoneのスペースでは普通に送信するとタグはエスケープされているのですが、タグの<>を数値文字参照にすることでいくつかのタグを表示させることができます。ただ、onXXXXなイベントハンドラはすべて消されるようになっています。ですがimgタグのsrcには外部ドメインを含めることができるため、外部ドメインの画像ファイルを読み込ませることが可能です。とはいえ普通に内部から画像はアップできるので脆弱性?っていうかんじですが、一応そこを開くと外部ドメインの画像データにアクセスするため、ターゲットのユーザーがそこにログインしていることが把握できるくらいの攻撃が可能です。まあ仕様だよなあと思ってとりあえず報告してみたのですがやっぱり仕様でした。

 

こんな風に外部ドメインの画像を埋め込み可能

こんな風に外部ドメインの画像を埋め込み可能

・最後に

Webサイトのバグバウンティの世界ではそれがバグか仕様かは報告された側が決めることで、報奨があるかどうかも相手が決めることです。今回はこれっておかしくない? と思うことはありませんでしたが、企業によっては全然関係ない脆弱性でも同じサブドメインだから今回はお金をあげないとかいうムカつくこともありますので、心を広く持って報告していきたいものです。

あと日本語通じるのってすごくありがたい(上記の脆弱性?みたいなものは英語ではニュアンスを伝えづらいから報告に時間がかかるのでハードルが高い、つまり面倒)ので他の日本の会社もバグバウンティプログラム始めてくれるとうれしいですね。

Written by bogus on 5月 23rd, 2015