公開:

【CVE-2024-50159】Linuxカーネルのarm_scmi二重解放脆弱性、複数バージョンに影響が判明し修正パッチを緊急公開

text: XEXEQ編集部
(記事は執筆時の情報に基づいており、現在では異なる場合があります)


記事の要約

  • Linuxカーネルにおけるarm_scmiの二重解放の脆弱性を修正
  • scmi_debugfs_common_setup()での重複するメモリ解放を防止
  • Linux 6.3から6.6.59までの複数バージョンに影響

Linux Kernelの二重解放脆弱性に関する修正【CVE-2024-50159】

Linuxカーネルの開発チームは、arm_scmiコンポーネントにおける重大な二重解放の脆弱性【CVE-2024-50159】の修正を2024年11月7日に公開した。この脆弱性は、scmi_debugfs_common_setup()関数内でdevm_add_action_or_reset()が失敗した際にscmi_debugfs_common_cleanup()が2回実行され、dbg->nameの二重解放が発生する問題となっている。[1]

この脆弱性は静的解析ツールClangのscan-buildによって発見され、drivers/firmware/arm_scmi/driver.cファイルの2915行目で解放済みメモリの解放が試みられる問題が指摘された。冗長なscmi_debugfs_common_cleanup()の呼び出しを削除することで、メモリの二重解放を防止する対策が実装されている。

影響を受けるバージョンは、Linux 6.3から6.6.59までの複数のリリースに及んでおり、Linux 6.11.6以降および6.12-rc4以降のバージョンでは修正が適用されている。開発チームは、該当するバージョンを使用しているシステム管理者に対して、早急なアップデートを推奨している。

Linux Kernel脆弱性の影響範囲まとめ

バージョン 影響状況 修正状態
Linux 6.3 影響あり 要アップデート
Linux 6.6.59 影響あり 要アップデート
Linux 6.11.6以降 影響なし 修正済み
Linux 6.12-rc4以降 影響なし 修正済み

二重解放について

二重解放とは、既に解放されたメモリ領域を再度解放しようとする問題のことを指す。主な特徴として以下のような点が挙げられる。

  • メモリ破損やシステムクラッシュの原因となる重大な問題
  • ヒープベースのバッファオーバーフローを引き起こす可能性
  • 任意のコード実行につながる潜在的なセキュリティリスク

今回のLinuxカーネルの脆弱性は、devm_add_action_or_reset()の失敗時にscmi_debugfs_common_cleanup()が重複して実行されることで二重解放が発生する。この問題は、メモリ管理の不備によってシステムの安定性とセキュリティを脅かす深刻な脆弱性として認識されている。

Linux Kernelの二重解放脆弱性に関する考察

Linuxカーネルにおける二重解放の脆弱性は、静的解析ツールによって発見されたことから、コード品質管理の重要性を再認識させる結果となった。システムの中核を担うカーネルレベルでの脆弱性は、攻撃者による権限昇格や任意のコード実行などの深刻な脅威をもたらす可能性があるため、継続的なコードレビューと静的解析の実施が不可欠である。

メモリ管理に関する問題は、特にカーネル空間での動作において重大なセキュリティリスクとなり得る。開発者は、リソース解放の処理フローを慎重に設計し、エラーハンドリングパスにおける二重解放や未解放などの問題を防ぐための対策を講じる必要がある。今後は、より堅牢なメモリ管理機構の実装と、自動化されたテスト手法の拡充が求められるだろう。

Linux開発コミュニティは、この種の脆弱性に対して迅速な対応を行っているが、影響を受けるバージョンが複数存在することから、システム管理者の適切なバージョン管理と更新作業が重要となる。セキュリティアップデートの適用を確実に行うための運用体制の整備と、脆弱性情報の迅速な展開システムの確立が今後の課題となるはずだ。

参考サイト

  1. ^ CVE. 「CVE Record | CVE」. https://www.cve.org/CVERecord?id=CVE-2024-50159, (参照 24-11-16).

※上記コンテンツはAIで確認しておりますが、間違い等ある場合はコメントよりご連絡いただけますと幸いです。

「セキュリティ」に関するコラム一覧「セキュリティ」に関するニュース一覧
ブログに戻る

コメントを残す

コメントは公開前に承認される必要があることにご注意ください。