メールサーバーソフト「Exim」に、かなり厄介なバグが見つかりました。
ざっくり言うと、外部から特別なメール通信を送ることで、サーバー上で勝手にコードを動かされる可能性があるという話です。
この「勝手にコードを動かされる」は、セキュリティ界隈でいう RCE(Remote Code Execution)、つまり遠隔コード実行です。
これは本当に危険で、攻撃者が成功すると、単なるエラーや設定崩しでは済まず、サーバーを好きに操作される入口になりえます。
個人的には、メールサーバーの脆弱性って地味に見えて、実はかなり怖いんですよね。
なぜならメールは外部と常に通信するので、攻撃の入口として狙われやすいからです。しかもEximはLinux/Unix系で広く使われているので、影響が出るとじわじわ広がりやすいタイプの事故です。
今回の問題は、Use-After-Free(UAF) と呼ばれる種類のバグです。
これは、もう解放して使えなくしたメモリ領域を、あとから再び使ってしまう不具合です。
たとえるなら、すでに片付けた机の上に、まだ書類があると思って作業を続けてしまう感じです。
実際のソフトウェアでは、これが起きるとメモリが壊れたり、予想外の動作をしたり、最悪の場合は攻撃に利用されたりします。
BleepingComputerによると、今回のEximでは:

に問題が起きます。
少し噛み砕くと、通信を安全にするための処理の終わり際に、メモリの扱いを間違えてしまうわけです。
しかも厄介なのは、攻撃者が認証なしで到達できる可能性があること。これはかなり痛いです。
今回の脆弱性は、すべてのEximが危ないわけではありません。
記事によると、影響を受けるのは次の条件に当てはまるものです。
ここは大事です。
「Eximを使っている=即アウト」ではないのですが、設定とビルド条件次第で危険になるのがややこしいところです。セキュリティ事故って、こういう“特定条件でだけ爆発する”タイプが本当に面倒なんですよね。
攻撃者がこの脆弱性を悪用できると、次のようなことが起こりえます。

ここで怖いのは、メールサーバーが単独で終わらないことです。
メールサーバーはしばしば社内システムや認証基盤、各種通知とつながっています。なので、侵入の起点になると、そこから横展開される可能性があります。
記事では、脆弱性は XBOWの研究者 Federico Kirschbaum によって発見・報告されたとされています。
流れはこんな感じです。
対応の流れとしては比較的すばやい部類に見えます。
こういうときは、開発者側の初動が早いと被害の広がりをある程度抑えやすいので、そこは良かったと思います。
記事の後半で特に興味深いのが、PoC(Proof of Concept、概念実証)、つまり「本当に悪用できるか」を示すための試作品を作る過程です。
XBOWによると、今回は

が関わる形で、7日間の競争になったそうです。
結果として:
この話、かなり象徴的だと思います。
「AIが全部やってしまう」というより、AIは補助輪としてかなり強いけれど、実戦の仕上げはまだ人間が強い、という印象です。
研究者自身も、LLMだけで現実のソフトに対するエクスプロイトを作るには、まだ十分ではないと思うとコメントしています。
ただし、未知のコードを読み解いたり、怪しい場所を深掘りしたりする用途では、AIがかなり役立つとも述べています。ここは私も同意で、AIは「魔法の攻撃者」ではないけれど、熟練者の作業速度をかなり底上げする道具にはなっていると思います。
対象になりうるのは、特に Ubuntu や Debian ベースのLinux でEximを使っている人です。
対応はシンプルで、パッケージマネージャー経由でExim 4.99.3 へ更新することです。

もし自分のサーバーでEximを使っているなら、次を確認したいです。
こういうときは「あとでやろう」が一番危ないです。
メールサーバーは外から見えることが多いので、更新の後回しはそのままリスクの放置になりがちです。
今回のExim脆弱性は、メールサーバー運用者にとってかなり重要な警告です。
条件は少し限定されるとはいえ、認証なしで遠隔コード実行につながるという点で、インパクトは大きいです。
しかも、メールサーバーは「ただのメール送受信の箱」ではありません。
社内の連絡、認証メール、通知、監査ログなど、いろんなものが絡むので、ここが崩れると影響が連鎖しやすい。
だからこそ、Eximを使っているなら今すぐ更新確認、これが一番まっとうな対応だと思います。
参考: New critical Exim mailer flaw allows remote code execution