米マイクロソフトの「Skype for Windows」や米スラックの「Slack」といった多くのアプリに深刻な脆弱性が見つかった。2018年1月18日に報告された「CVE-2018-1000006」だ。この脆弱性を悪用すると、ユーザーが特定のURLにアクセスするだけで、攻撃者が指定した任意のプログラムが実行されてしまう。

 なぜ、多くのアプリに同時に脆弱性が発生したのか。理由は、これらのアプリが共通して「Electron」というフレームワークを利用していたためだ。Electronに脆弱性があり、Electronを利用している複数のアプリにも脆弱性が発生した。

 Electronは、米ギットハブが開発したオープンソースのアプリ開発用フレームワーク。同社がテキストエディタ「Atom」を開発する過程で生まれたものだ。Electronを利用すると、HTMLやCSS、JavaScriptといったWeb技術を使ってマルチプラットフォームのデスクトップアプリを簡単に開発できる。

 このため、最近はデスクトップアプリの開発に幅広く使われている。Electronを使っていることを明示していなくても、裏で使われていることも多い。名前を聞いたことのない読者が多いかもしれないが、実は「隠れたメジャーソフト」である。

脆弱性の発生には二つの条件がある

 脆弱性が存在するElectronのバージョンは、1.8.2-beta.3以前、1.7.10以前、1.6.15以前。最新のElectronでは脆弱性が修正されており、SkypeやSlackは既に脆弱性を修正したバージョンが公開されている。こうしたアプリを利用している場合には早急にアップデートする必要がある。

 ただし、Electronを利用して開発されたアプリのすべてに脆弱性があるわけではない。脆弱なバージョンのElectronを使っていることに加え、二つの条件がある。

 一つ目は、Windowsで動作するアプリであることだ。Electronを利用していても、MacやLinuxのアプリにはこの脆弱性は存在しない。理由は、脆弱性がWindowsのレジストリに関係しているためだ。詳しくは後述する。