公開:

【CVE-2024-50171】Linuxカーネルのbcm_sysport_xmit()にメモリリーク脆弱性、複数バージョンに影響

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


記事の要約

  • Linuxカーネルのbcm_sysport_xmit()にメモリリーク脆弱性
  • 【CVE-2024-50171】として特定された重大な脆弱性
  • dma_map_single()失敗時のskb解放漏れが原因

Linux kernelのbcm_sysport_xmit()におけるメモリリーク脆弱性

kernel.orgは2024年11月7日にLinuxカーネルのbcm_sysport_xmit()関数におけるメモリリーク脆弱性【CVE-2024-50171】を公開した。この脆弱性はdma_map_single()が失敗した際にskbが解放されずにNETDEV_TX_OKが返されることで発生するメモリリーク問題である。[1]

この脆弱性は特にLinux 3.16から影響を受けており、複数のバージョンにまたがって存在することが確認されている。対策として各バージョンに対応したパッチがリリースされ、dev_kfree_skb()を追加することでメモリリークの問題が修正された。

影響を受けるバージョンは多岐にわたっており、Linux 4.19.323から6.12-rc4までの広範なバージョンで脆弱性への対応が必要となっている。この問題に対してkernel.orgは複数のコミットを通じて包括的な修正を実施し、システムの安定性向上を図った。

Linux kernelのバージョン別影響状況

バージョン 影響状況
Linux 3.16 影響あり
Linux 4.19.323 影響なし
Linux 5.4.285 影響なし
Linux 5.10.229 影響なし
Linux 5.15.170 影響なし
Linux 6.1.115 影響なし

メモリリークについて

メモリリークとはプログラムの実行中に確保したメモリ領域が適切に解放されない状態を指す。主な特徴として以下のような点が挙げられる。

  • システムリソースの無駄な消費が発生
  • 長時間の運用でメモリ使用量が増加
  • システムパフォーマンスの低下を引き起こす

bcm_sysport_xmit()の脆弱性ではdma_map_single()の失敗時にskbの解放が行われないことでメモリリークが発生している。この問題はdev_kfree_skb()を追加することで修正され、システムの安定性と信頼性の向上に貢献することが期待される。

Linuxカーネルのメモリリーク脆弱性に関する考察

bcm_sysport_xmit()におけるメモリリーク問題の発見は、Linuxカーネルのコードレビューと品質管理の重要性を再認識させる機会となった。特にネットワークスタックのような重要なコンポーネントでは、エラー処理パスにおけるリソース管理の徹底が不可欠であり、今回の修正はその典型的な事例となっている。

この脆弱性が長期間にわたって存在していた事実は、レガシーコードの継続的なレビューと改善の必要性を示唆している。今後は静的解析ツールの活用やコードレビューのプロセス改善によって、同様の問題を早期に発見できる体制作りが求められるだろう。

また、オープンソースコミュニティの迅速な対応と修正は、Linuxカーネルの開発モデルの強みを示している。複数のバージョンに対する包括的な修正リリースは、ユーザーの選択肢を確保しながらセキュリティを向上させる取り組みとして評価できる。

参考サイト

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

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

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

コメントを残す

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