公開:

【CVE-2024-53053】LinuxカーネルでUFS CoreのRTCアップデート時のデッドロック問題が修正、システムの安定性向上へ

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


記事の要約

  • Linuxカーネルでデッドロックの脆弱性を修正
  • RTC更新時のufshcd_rpm_put_syncによるデッドロック発生
  • ufshcd_rpm_putへの置き換えで問題を解決

UFS Core RTCアップデート時のデッドロック修正がLinuxカーネルに適用

Linuxカーネルにおいて、UFS CoreのRTCアップデート時に発生するデッドロックの脆弱性【CVE-2024-53053】が2024年11月19日に公開された。この脆弱性は、ufshcd_rtc_workがufshcd_rpm_put_sync()を呼び出し、pmのusage_countが0の場合にランタイムサスペンドコールバックに入ることで発生するデッドロックに関するものだ。[1]

問題の根本的な原因は、ランタイムサスペンドコールバックがufshcd_rtc_workのフラッシュを待機することにあり、システムの安定性に影響を及ぼす可能性があった。カーネル開発チームは、ufshcd_rpm_put_sync()をufshcd_rpm_put()に置き換えることでデッドロックを回避する修正を実装している。

この脆弱性の影響を受けるバージョンは、バージョン6.8からの新規実装であり、6.11.7から6.11系列全体、および6.12以降のバージョンでは修正が適用されている。修正パッチは安定版カーネルブランチにマージされ、影響を受けるシステムへのアップデートが推奨されている。

Linuxカーネルのバージョン別影響まとめ

項目 詳細
影響を受けるバージョン バージョン6.8から実装
修正済みバージョン 6.11.7以降の6.11系列、6.12以降
修正内容 ufshcd_rpm_put_sync()をufshcd_rpm_put()に置換
脆弱性識別子 CVE-2024-53053
公開日 2024年11月19日
影響 RTCアップデート時のデッドロック発生

デッドロックについて

デッドロックとは、複数のプロセスが互いに相手が保持しているリソースを要求し合い、どのプロセスも進行できなくなる状態のことを指す。以下のような特徴的な状況で発生する可能性が高い。

  • 複数のプロセスが共有リソースを排他的に使用
  • リソースの解放待ちが循環的に発生
  • プロセス間で相互にリソースの待機状態が発生

今回のLinuxカーネルの脆弱性では、ufshcd_rtc_workによるランタイムサスペンドとフラッシュ処理の間でデッドロックが発生している。この問題は非同期処理を導入することで解決され、システムの安定性と信頼性が向上することが期待されている。

UFS CoreのRTCアップデートに関する考察

LinuxカーネルにおけるUFS CoreのRTCアップデート時のデッドロック修正は、システムの安定性向上という観点で重要な意味を持っている。特にストレージサブシステムの信頼性に直結する問題であり、ufshcd_rpm_put()による非同期処理の導入は、システムのパフォーマンスと安定性のバランスを考慮した適切な解決策だと言えるだろう。

今後は同様のデッドロック問題を事前に検出できる静的解析ツールの導入や、開発プロセスの見直しが必要になってくる可能性がある。特にリアルタイムクロック更新のような基本的な機能でも予期せぬ問題が発生する可能性があることから、より綿密なテスト体制の構築が求められているはずだ。

また、今回の修正はLinuxカーネルの品質向上に向けた継続的な取り組みの一環として捉えることができる。今後もストレージサブシステムの改善や最適化が進められ、より信頼性の高いシステム構築が可能になることが期待される。

参考サイト

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

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

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

コメントを残す

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