CVE-2024-2961 — glibc iconv(ISO-2022-CN-EXT)のバッファオーバーフローとPHP
CVE-2024-2961 · glibc(PHP本体ではありません) · CVE公開日 2024-04-17
概要 / What it is
GNU C Library(glibc)2.39以前の iconv() が、文字列をISO-2022-CN-EXTに変換する際に出力バッファを最大4バイト溢れさせる問題です(アプリケーションのクラッシュや隣接変数の上書きにつながり得る)。発見者のCharles Fol氏(Ambionics/LEXFO)は、PHPの php://filter などiconvを使う機能を経由してPHPアプリケーションでの任意コード実行に至る手法を公開しています。
English: glibc ≤2.39 iconv() out-of-bounds write when converting to ISO-2022-CN-EXT; the researcher published exploitation paths through PHP (e.g. php://filter).
影響を受けるバージョン / Affected versions
- glibc 2.39 以前(脆弱なコードは2.1.93系から存在)。修正: glibc 2.40、および各安定ブランチへのバックポート。
- PHPのバージョン番号ではなく、OSのglibcが判定対象です。DebianやRHEL系などはディストリビューションのセキュリティ更新で修正版が配布されています。
自分のPHPバージョンを確認する方法
- サーバーにSSHできる場合:
php -v(CLI。Webサーバー側と異なる場合があります) - Webで実際に使われているバージョン: 管理画面のサーバー情報、または一時的に
phpinfo()を設置して確認し、確認後すぐ削除 - WordPress: 管理画面「ツール → サイトヘルス → 情報 → サーバー」
対策 / Fix
- OSのセキュリティ更新を適用し、glibcを修正版にしてからPHP-FPM/Webサーバーを再起動。
- glibc版の確認:
ldd --version(ディストリビューションがバックポートした修正は版番号だけでは判断できないため、各ディストリのセキュリティ情報も確認)。 - すぐに更新できない場合、glibc公式アドバイザリ以外にも研究者・ディストリビューションが gconv-modules 設定からISO-2022-CN-EXTを無効化する回避策を案内しています(適用は自己責任で、出典を確認のうえ)。
よくある質問
PHPを更新すればCVE-2024-2961は直りますか?
いいえ。脆弱性はglibc(OSのCライブラリ)にあります。OSのセキュリティ更新でglibcを修正版にする必要があります。
WordPressサイトも関係しますか?
PHPがiconvを使う処理を攻撃者が操作できる条件で悪用され得ると研究者は報告しています。WordPressかどうかに関わらず、サーバーのglibcを更新してください。
出典 / Sources
- glibc Security Advisory GLIBC-SA-2024-0004
- CVE-2024-2961 (CVE.org)
- Charles Fol: Iconv, set the charset to RCE (part 1)
最終確認日: 2026-10-21