公開:

【CVE-2024-50261】Linuxカーネルのmacsecコンポーネントでuse-after-free脆弱性、参照カウント管理方式による修正を実施

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


記事の要約

  • Linuxカーネルでmacsecのuse-after-free脆弱性が修正
  • metadata_dstの解放タイミングに関する不具合を修正
  • dst_releaseによる参照カウント管理方式に変更

Linuxカーネルmacsecコンポーネントの脆弱性修正

Linuxカーネルのメンテナーは、macsecコンポーネントに存在する重大な脆弱性【CVE-2024-50261】を2024年11月9日に修正した。この脆弱性は、オフロードパケット送信時にmetadata_dstが不適切なタイミングで解放されることにより発生するuse-after-free問題であり、KASANによって検出された問題だ。[1]

問題の根本的な原因は、macsec offloadで使用されるSCI値を格納するmetadata_dstが、ドライバがパケット送信処理を行っている最中にmacsec_free_netdev()内でmetadata_dst_free()によって解放されてしまう点にある。修正では参照カウントベースのdst_release()を採用することで、skbによる参照が存在する間はmetadata_dstが即座に解放されないよう改善された。

この脆弱性はmlx5_coreドライバのmlx5e_xmit関数において実際に問題を引き起こしており、ワークキューのmld_ifc_workコンテキストでsize 2のメモリ読み取りによって検出された。カーネルの安全性と信頼性を確保するため、影響を受けるバージョンのユーザーは速やかにアップデートを適用することが推奨されている。

影響を受けるLinuxカーネルバージョンまとめ

ステータス バージョン 影響範囲
影響あり 0a28bfd4971f以降 872932cf75cf未満
影響バージョン 6.1 6.1.116未満
対策済みバージョン 6.1.116以降 6.12-rc6以降

use-after-freeについて

use-after-freeとは、メモリ管理に関する深刻な脆弱性の一種で、既に解放されたメモリ領域に対してアクセスを試みる問題のことを指す。主な特徴として以下のような点が挙げられる。

  • 解放済みメモリへの不正アクセスによる異常動作
  • メモリ破壊やシステムクラッシュの原因となる
  • 悪用された場合、任意コード実行の可能性がある

今回のLinuxカーネルの事例では、macsecコンポーネントにおいてmetadata_dstの解放タイミングが不適切であることがuse-after-freeの原因となっていた。KASANによって検出されたこの問題は、mlx5e_xmit関数内でsize 2のメモリ読み取りを行う際に発生し、システムの安定性と信頼性に影響を及ぼす可能性があった。

Linuxカーネルのmacsec脆弱性修正に関する考察

今回のmacsec脆弱性修正では、参照カウントベースのメモリ管理方式を採用することで、より安全なリソース解放の仕組みが実現された。特にネットワークスタックのような複雑な処理が絡むコンポーネントでは、このような厳密なメモリ管理が重要であり、KASANのような動的解析ツールの活用が問題の早期発見に貢献している。

しかし、今後も同様のメモリ管理の問題が発生する可能性は否定できない。特にハードウェアオフロード機能のような最適化処理では、リソースの寿命管理が複雑化しやすく、より慎重な設計とレビューが必要となるだろう。このような問題に対しては、静的解析ツールの活用やメモリ管理パターンの標準化が有効な対策となる可能性がある。

また、オープンソースコミュニティの迅速な対応と透明性の高い脆弱性管理プロセスは、今後も継続的に強化される必要がある。特にセキュリティ上の問題は、エコシステム全体に影響を及ぼす可能性があるため、コミュニティ全体での知見の共有と、より効果的な品質保証の仕組みの確立が期待される。

参考サイト

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

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

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

コメントを残す

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