LinuxのZoom、コピーしただけで中身を取りに来る
LinuxのX11環境で動くZoom 7.1.5が、何かがコピーされるたびに、貼り付けてもいないのに中身を読み取っていると、PuTTY作者のサイモン・タサムさんが報告した。読んだ中身をどうしているのかは、わかっていない。
ひかり:ことね先輩っ、大変大変っ! Zoomが、コピーしたものを勝手に読んでるって書いてあるの! わたし、ゲームのパスワード、いつもメモ帳からコピーして貼ってるんですけどっ!? もう全部、見られちゃってる!?
ことね:まあ落ち着いて。順番に整理しましょう。報告されているのは、Linuxで「X11」という仕組みを使っているパソコンの、Zoom 7.1.5よ。見つけたのはサイモン・タサムさん。サーバーにつなぐときの定番ソフト、PuTTYの作者ね。9月の初めにMastodonで「アップデートしたら、X11のクリップボードに書き込まれたものを、Zoomが片っ端から読むようになった」と報告して、昨日Hacker Newsに載って、また広まっているの。前に入れていた6.6では、こうならなかったそうよ。……ひかりのパソコンはWindowsでしょう。いま報告されているのは、LinuxのX11の話だけ。
ひかり:よかったぁ〜、Windowsだった! ……で、エックスじゅういちって何ですか? Xの、11代目?
ことね:正確には、Linuxなどで画面にウィンドウを出すための「X Window System」の第11版よ。40年近く前に出た版が、いまも使われているの。だから「11代目」はほぼ正解なのだけれど、SNSのXとは関係ないわ。……おもしろいのはここから。X11では、コピーした中身は、みんなで使う箱にしまわれるわけじゃないの。コピーしたアプリが「いま持っているのは私」と名乗り出るだけ。貼り付けたいアプリがそのアプリに「ちょうだい」と頼みに行って、初めて中身が渡されるのよ。ところがZoom 7.1.5は、持ち主が替わると知らせてくれるXFIXESという拡張機能で見張っていて、だれかが何かをコピーした瞬間に「ちょうだい」を送るの。Zoomの画面を触っていなくても、ね。見ているのはCtrl+Cでコピーするほうのクリップボードだけで、文字を選んでマウスの真ん中のボタンで貼る、X11に昔からあるもう一つのほうは見ていないそうよ。
みずき:…Windowsでも、パスワードをメモ帳に置いてる時点でアウト。……で、どうやってバレたの。黙って持っていかれたら、ふつう気づかない。
ことね:そこが一番の見どころなの。タサムさんは、「1回だけ貼れる」道具を自分で作って使っているのよ。中身を持って待機して、1回「ちょうだい」に応えたら、すぐに消える。いくつも並べて待たせておけば、ウェブの入力欄に次々と貼っていけるの。ところがアップデートの後、その道具が起動したとたんに終わってしまうようになった。調べてみたら、Zoomが毎回、真っ先に「ちょうだい」を出していた、というわけ。……しかも頼んできたのは、Zoomの本体の画面ではなく、ありふれた名前の補助的なウィンドウ。クリックした画面のアプリを強制終了させるxkillという道具で消してみて、どのアプリがいなくなるかを見て、ようやくZoomだとわかったそうよ。ほかの方法でも確かめたうえで、ね。
みずき:…犯人を当てるために、容疑者を消してみた、と。……で、Zoomは読んだ中身で何してるの。
ことね:それが、わかっていないの。毎週セキュリティの話題をまとめているHackadayのコラムも「コピーした中身がその後どうなるのかは、今のところ謎」と書いているわ。困るのは、パスワード管理ソフトの中に、パスワードをクリップボード経由で渡すものがあることね。タサムさんがいちばん注意を呼びかけているのもそこよ。……実はタサムさん、去年の夏にSlackでも似たことを見つけているの。ただ、あのときはSlackの画面に切り替えたときだけ読む動きで、止める設定もあった。今回は、ほかの人に教わった、リモート操作の相手とクリップボードを共有するかどうかの設定をウェブ版でオフにして、再起動までしたけれど、止まらなかったそうよ。返信では、Zoomをブラウザーで使う、という手が挙がっているわ。ブラウザーでは、ページが許可なくクリップボードを読めない仕組みになっているから。
ひなた:ふぁ〜……クッキーを1枚だけ持って、お友だちに「はい、どうぞ」ってしようとしたら、となりの子が先に「ちょうだい」って食べちゃったのです。……でも、1枚しかなかったから、食べられたってわかったのです。袋いっぱい持っていたら、ずっと気づかなかったのです。
まとめ:中身を1回しか渡さない、変わった道具を使う人がいなければ、Zoomの「ちょうだい」には、だれも気づかなかった。