LinuxをApple M1 Macに移植する作業に取り組んでいる開発者が、Apple M1チップに隠れチャンネルの脆弱性(Covert Channel Vulnerability)が存在すると発表した。この脆弱性は「M1RACLES」と呼ばれており、OSの提供する通信手段を使うことなく、秘密裏にプロセス間でデータ交換を行うことを可能にするという。これは異なる権限レベルで動作するプロセス間でも動作するという。

脆弱性の詳細は次のページにまとまっている。

  • M1RACLES: M1ssing Register Access Controls Leak EL0 State

    M1RACLES: M1ssing Register Access Controls Leak EL0 State

Apple M1チップにLinuxを移植する作業を行っていた開発者がM1の動作を調査している間に、このプロセッサ設計のバグを見つけたそうだ。この問題はAppleも気がついていなかったもので、開発者はAppleへ問題を報告した後、Appleへの開示から90日間が経過したため情報公開を行ったとしている。この脆弱性はCVE-2021-30747として特定されているという。

脆弱性を発見した開発者は、この脆弱性を悪用してマルウェアがコンピュータを乗っ取ったり、個人情報を窃取したり、WebサイトからJavaScriptを実行したり、BIOSを書き換えたりといった危険性は低いと説明している。今回発見された隠れチャンネルの脆弱性は、システムが侵害されている場合に悪用できるものであって、侵害されていない段階で悪用することは難しいだろうと指摘されている。

この脆弱性が将来のバージョンのM1系列チップで修正されるかどうかは不明。なお、今回発見されたような隠れチャンネルの脆弱性はほかのプロセッサにも存在している。これら脆弱性を悪用してOSが想定していないプロセス間通信が可能なことは広く知られているが、悪用するにはそれなりに条件を整える必要があると考えられている。今後、CVE-2021-30747の深刻度がどのように評価されていくかが注目される。