Notepad++の脆弱性対応

ほぼこもセキュリティニュース By Terilogy Worx

Notepad++は広く利用されているソフトウェアです。
オープンソースで開発されているプログラマー向けのテキストエディターで、人気ランキングの上位でよく見ます。
ソースコードの編集に必要な機能が豊富、さまざまな文字コードへの対応ができている、動作が軽量、豊富なプラグインがある、など、特徴をあげると人気のあることがわかります。
Notepad++はこれまで非常に多くの更新が行われてきています。
その多くは機能拡張や機能的なバグフィックスだったようですが、先日公開された新しいバージョンでは、脆弱性対応が含まれていました。
内容を見てみましょう。

  • CVE-2023-40031
    UTF-16からUTF-8へのエンコード変換に関する誤った仮定により、Utf8_16_Read::convert関数でバッファオーバーフローが発生します。

     

  • CVE-2023-40036
    バッファサイズに基づく配列インデックスの順序が原因で、CharDistributionAnalysis::HandleOneCharでのグローバルバッファ読み取りオーバーフローが発生し、uchardetライブラリの使用時に問題が発生します。

     

  • CVE-2023-40164
    nsCodingStateMachine::NextStateでのグローバルバッファ読み取りオーバーフローがあります。Notepad++で使用されるuchardetライブラリのcharLenTableバッファのサイズに依存している部分があり脆弱です。

     

  • CVE-2023-40166
    ファイル言語の検出中にバッファー長のチェックに失敗した際に、FileManager::detectLanguageFromTextBeginningでヒープバッファー読み取りオーバーフローが発生します。

今回はこの4つの脆弱性が修正されています。
これら4つはいずれもバッファオーバーフローです。
バッファオーバーフローだからといって、すべてが必ず任意のリモートコード実行につながる脆弱性であるのかどうかというのは、何とも言えない部分があります。
今回の更新の範囲でも、機能が意図動作しない問題となると考えられるが、リモートコード実行が実現できるとは考えられないという見解に言及する開発者もいました。

しかし、です。
リモートコード実行が成り立つかどうかということにこだわるのではなく、本家から提供される更新は適用していきたいものです。
開発をスムーズに進めたいために利用しているソフトウェアですので、バグがあって意図動作しないということでは効率に影響してしまいます。

今回の脆弱性については、概念実証エクスプロイトもすでに公開されています。
実際の攻撃コードが生まれてしまうのは時間の問題です。
本家から更新されたものを入手して速やかに更新を完了させましょう。

参考記事(外部リンク):Notepad++ v8.5.7 Release (Vulnerability fixes)
community.notepad-plus-plus.org/topic/24895/notepad-v8-5-7-release-vulnerability-fixes